summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/mint/pwd.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/mint/pwd.c')
-rw-r--r--gnu/usr.bin/perl/mint/pwd.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/mint/pwd.c b/gnu/usr.bin/perl/mint/pwd.c
new file mode 100644
index 00000000000..c2711996de9
--- /dev/null
+++ b/gnu/usr.bin/perl/mint/pwd.c
@@ -0,0 +1,43 @@
+/* pwd.c - replacement for broken pwd command.
+ * Copyright 1997 Guido Flohr, <gufl0000@stud.uni-sb.de>.
+ * Do with it as you please.
+ */
+#include <stdio.h>
+#include <limits.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+
+#if defined(__STDC__) || defined(__cplusplus)
+int main (int argc, char* argv[])
+#else
+int main (argc, argv)
+ int argc;
+ char* argv[];
+#endif
+{
+ char path_buf[PATH_MAX + 1];
+
+ if (argc > 1) {
+ int i;
+
+ fflush (stdout);
+ fputs (argv[0], stderr);
+ fputs (": ignoring garbage arguments\n", stderr);
+ }
+
+ if (!getcwd (path_buf, PATH_MAX + 1)) {
+ fflush (stdout);
+ /* Save space, memory and the whales, avoid fprintf. */
+ fputs (argv[0], stderr);
+ fputs (": can\'t get current working directory: ", stderr);
+ fputs (strerror (errno), stderr);
+ fputc ('\n', stderr);
+ return 1;
+ }
+ if (puts (path_buf) < 0) {
+ return 1;
+ }
+ return 0;
+}
+/* End of pwd.c. */