home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / mint / pwd.c < prev    next >
C/C++ Source or Header  |  1999-07-20  |  904b  |  44 lines

  1. /* pwd.c - replacement for broken pwd command.
  2.  * Copyright 1997 Guido Flohr, <gufl0000@stud.uni-sb.de>.
  3.  * Do with it as you please.
  4.  */
  5. #include <stdio.h>
  6. #include <limits.h>
  7. #include <unistd.h>
  8. #include <string.h>
  9. #include <errno.h>
  10.  
  11. #if defined(__STDC__) || defined(__cplusplus)
  12. int main (int argc, char* argv[])
  13. #else
  14. int main (argc, argv)
  15.     int argc;
  16.     char* argv[];
  17. #endif
  18. {
  19.     char path_buf[PATH_MAX + 1];
  20.     
  21.     if (argc > 1) {
  22.         int i;
  23.         
  24.         fflush (stdout);
  25.         fputs (argv[0], stderr);
  26.         fputs (": ignoring garbage arguments\n", stderr);
  27.     }
  28.     
  29.     if (!getcwd (path_buf, PATH_MAX + 1)) {
  30.         fflush (stdout);
  31.         /* Save space, memory and the whales, avoid fprintf.  */
  32.         fputs (argv[0], stderr);
  33.         fputs (": can\'t get current working directory: ", stderr);
  34.         fputs (strerror (errno), stderr);
  35.         fputc ('\n', stderr);
  36.         return 1;
  37.     }
  38.     if (puts (path_buf) < 0) {
  39.         return 1;
  40.     }
  41.     return 0;
  42. }
  43. /* End of pwd.c.  */
  44.