/* Fortran get working directory. PLWard 3/20/80 */ /* * Fortran callable character function to get working directory * as a string. PLWard, USGS, Menlo Park, California * Modified version of pwd.c. */ #include #include #include #include char dot[] = "."; char dotdot[] = ".."; int file; struct stat d, dd; struct direct dir; char workdr_(name,lim) char name[]; long lim; { int rdev, rino; register i, j; int off; off = -1; for(j=0;j= lim){ name[off]='\0'; i=chdir(dir.d_name); j=chdir(name); if(i!=0 | j!=0) fprintf(stderr,"workdr: unable to change back to working dir\n"); for(j=0;j=0; --j) name[j+i+1] = name[j]; off=i+off+1; name[i] = '/'; for(--i; i>=0; --i) name[i] = dir.d_name[i]; } out:for(j=off+1; j>=0; --j) name[j+1] = name[j]; name[0]='/'; if (off<0) off = 0; off=off+1; name[off] = '\0'; chdir(name); name[off] = ' '; }