int main(int argc, char *argv[]) { int physical; int ch; char *p; char buf[PATH_MAX]; if (strcmp(getprogname(), "realpath") == 0) { if (argc != 2) usage(); if ((p = realpath(argv[1], buf)) == NULL) err(1, "%s", argv[1]); printf("%s\n", p); exit(0); } physical = 1; while ((ch = getopt(argc, argv, "LP")) != -1) switch (ch) { case 'L': physical = 0; break; case 'P': physical = 1; break; case '?': default: usage(); } argc -= optind; argv += optind; if (argc != 0) usage(); /* * If we're trying to find the logical current directory and that * fails, behave as if -P was specified. */ if ((!physical && (p = getcwd_logical()) != NULL) || (p = getcwd(NULL, 0)) != NULL) printf("%s\n", p); else err(1, "."); exit(0); }
int main(int argc, char *argv[]) { int ch, lFlag; const char *p; setprogname(argv[0]); (void)setlocale(LC_ALL, ""); lFlag = 0; while ((ch = getopt(argc, argv, "LP")) != -1) { switch (ch) { case 'L': lFlag = 1; break; case 'P': lFlag = 0; break; case '?': default: usage(); } } argc -= optind; argv += optind; if (argc != 0) usage(); if (lFlag) p = getcwd_logical(); else p = NULL; if (p == NULL) p = getcwd(NULL, 0); if (p == NULL) err(EXIT_FAILURE, NULL); (void)printf("%s\n", p); exit(EXIT_SUCCESS); /* NOTREACHED */ }
int main(int argc, char *argv[]) { int i; int physical; int ch; char *p; physical = 1; for(i = 1 ; i < argc ; i++) { char *arg = argv[i]; if(arg[0] == '-') { if(arg[1] == 'L' && arg[2] == '\0') { physical = 0; continue; } else if(arg[1] == 'P' && arg[2] == '\0') { physical = 1; continue; } } record_invalid(argv[0], arg); usage(); } /* * If we're trying to find the logical current directory and that * fails, behave as if -P was specified. */ if ((!physical && (p = getcwd_logical()) != NULL) || (p = getcwd(NULL, 0)) != NULL) printf("%s\n", p); else err(1, "."); exit(0); }
int main(int argc, char *argv[]) { int physical; int ch; char *p; physical = 1; while ((ch = getopt(argc, argv, "LP")) != -1) switch (ch) { case 'L': physical = 0; break; case 'P': physical = 1; break; case '?': default: usage(); } argc -= optind; argv += optind; if (argc != 0) usage(); /* * If we're trying to find the logical current directory and that * fails, behave as if -P was specified. */ if ((!physical && (p = getcwd_logical()) != NULL) || (p = getcwd(NULL, 0)) != NULL) printf("%s\n", p); else err(1, "."); exit(0); }
int main( int argc, char *argv[] ) { int physical; int ch; char *p; physical = 1; while ( ( ch = getopt( argc, argv, "LP" ) ) != -1 ) switch ( ch ) { case 'L': physical = 0; break; case 'P': physical = 1; break; default: exit( 1 ); } argc -= optind; argv += optind; if ( argc != 0 ) exit( 1 ); if ( ( !physical && ( p = getcwd_logical() ) != NULL ) || ( p = getcwd( NULL, 0 ) ) != NULL ) printf( "%s\n", p ); else err( 1, "." ); exit( 0 ); }