From: Jim Meyering Date: Wed, 25 Oct 2000 08:39:29 +0000 (+0000) Subject: Include dirname.h. X-Git-Tag: FILEUTILS-4_0_28~41 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d2915993141096352322738e5e50b4c0bf42a8d;p=thirdparty%2Fcoreutils.git Include dirname.h. (main): Use dir_name_r rather than open-coding it. --- diff --git a/src/dirname.c b/src/dirname.c index cfe7052d16..be1fc45590 100644 --- a/src/dirname.c +++ b/src/dirname.c @@ -24,6 +24,7 @@ #include "system.h" #include "long-options.h" #include "error.h" +#include "dirname.h" #include "closeout.h" /* The official name of this program (e.g., no `g' prefix). */ @@ -64,8 +65,8 @@ output `.' (meaning the current directory).\n\ int main (int argc, char **argv) { - register char *path; - register char *slash; + const char *result; + size_t len; program_name = argv[0]; setlocale (LC_ALL, ""); @@ -91,20 +92,9 @@ main (int argc, char **argv) usage (1); } - path = argv[1]; - strip_trailing_slashes (path); - - slash = strrchr (path, '/'); - if (slash == NULL) - path = (char *) "."; - else - { - /* Remove any trailing slashes and final element. */ - while (slash > path && *slash == '/') - --slash; - slash[1] = 0; - } - puts (path); + len = dir_name_r (argv[1], &result); + fwrite (result, 1, len, stdout); + putchar ('\n'); exit (0); }