diff options
Diffstat (limited to 'coreutils/dirname.c')
-rw-r--r-- | coreutils/dirname.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/coreutils/dirname.c b/coreutils/dirname.c index 935a8313c..b534e6950 100644 --- a/coreutils/dirname.c +++ b/coreutils/dirname.c | |||
@@ -30,21 +30,11 @@ | |||
30 | 30 | ||
31 | extern int dirname_main(int argc, char **argv) | 31 | extern int dirname_main(int argc, char **argv) |
32 | { | 32 | { |
33 | char* s; | ||
34 | |||
35 | if ((argc < 2) || (**(argv + 1) == '-')) | 33 | if ((argc < 2) || (**(argv + 1) == '-')) |
36 | show_usage(); | 34 | show_usage(); |
37 | argv++; | 35 | argv++; |
38 | 36 | ||
39 | s=*argv+strlen(*argv)-1; | 37 | puts (dirname (argv[0])); |
40 | while (s > *argv && *s == '/') { | 38 | |
41 | *s-- = '\0'; | ||
42 | } | ||
43 | s = strrchr(*argv, '/'); | ||
44 | if (s != NULL && s == *argv) | ||
45 | s[1] = '\0'; | ||
46 | else if (s != NULL) | ||
47 | *s = '\0'; | ||
48 | puts(s ? *argv : "."); | ||
49 | return EXIT_SUCCESS; | 39 | return EXIT_SUCCESS; |
50 | } | 40 | } |