Include dirname.h.
authorJim Meyering <jim@meyering.net>
Wed, 25 Oct 2000 08:39:29 +0000 (08:39 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 25 Oct 2000 08:39:29 +0000 (08:39 +0000)
(main): Use dir_name_r rather than open-coding it.

src/dirname.c

index cfe7052d16e690077116a381d2f1641295c3de91..be1fc455906cfbc42a4fb9a21cd09581b1d0bd43 100644 (file)
@@ -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);
 }