version 1.23, 2007/02/12 19:10:08 |
version 1.24, 2007/09/10 07:42:26 |
|
|
#include <string.h> |
#include <string.h> |
#include <unistd.h> |
#include <unistd.h> |
|
|
|
static void usage(void); |
|
|
int |
int |
main(int argc, char *argv[]) |
main(int argc, char *argv[]) |
{ |
{ |
|
|
nflag = 1; |
nflag = 1; |
break; |
break; |
default: |
default: |
(void)fprintf(stderr, |
usage(); |
"usage: readlink [-n] [-f] symlink\n"); |
|
exit(1); |
|
} |
} |
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
if (argc != 1) { |
if (argc != 1) |
fprintf(stderr, "usage: readlink [-n] [-f] symlink\n"); |
usage(); |
exit(1); |
|
} |
|
|
|
n = strlen(argv[0]); |
n = strlen(argv[0]); |
if (n > PATH_MAX - 1) { |
if (n > PATH_MAX - 1) { |
fprintf(stderr, |
fprintf(stderr, |
"readlink: filename longer than PATH_MAX-1 (%d)\n", |
"readlink: filename longer than PATH_MAX-1 (%d)\n", |
PATH_MAX - 1); |
PATH_MAX - 1); |
exit(1); |
exit(1); |
} |
} |
|
|
|
|
if (!nflag) |
if (!nflag) |
putchar('\n'); |
putchar('\n'); |
exit(0); |
exit(0); |
|
} |
|
|
|
static void |
|
usage(void) |
|
{ |
|
(void)fprintf(stderr, "usage: readlink [-fn] file\n"); |
|
exit(1); |
} |
} |