changeset 1144:58daf9c9a0b1 draft

ln -v support from Ashwini Sharma (comment tweak from me)
author Rob Landley <rob@landley.net>
date Wed, 18 Dec 2013 10:25:02 -0600
parents 2115856395e2
children 80c9df5145fe
files toys/posix/ln.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/toys/posix/ln.c	Wed Dec 18 10:20:16 2013 -0600
+++ b/toys/posix/ln.c	Wed Dec 18 10:25:02 2013 -0600
@@ -4,13 +4,13 @@
  *
  * See http://opengroup.org/onlinepubs/9699919799/utilities/ln.html
 
-USE_LN(NEWTOY(ln, "<1nfs", TOYFLAG_BIN))
+USE_LN(NEWTOY(ln, "<1vnfs", TOYFLAG_BIN))
 
 config LN
   bool "ln"
   default y
   help
-    usage: ln [-sfn] [FROM...] TO
+    usage: ln [-sfnv] [FROM...] TO
 
     Create a link between FROM and TO.
     With only one argument, create link in current directory.
@@ -18,6 +18,7 @@
     -s	Create a symbolic link
     -f	Force the creation of the link, even if TO already exists
     -n	Symlink at destination treated as file
+    -v	Verbose
 */
 
 #define FOR_ln
@@ -49,14 +50,15 @@
 
     if (S_ISDIR(buf.st_mode)) new = xmsprintf("%s/%s", dest, basename(try));
     else new = dest;
-    /* Silently unlink the existing target. If it doesn't exist,
-     * then we just move on */
+    // Silently unlink the existing target (if any)
     if (toys.optflags & FLAG_f) unlink(new);
 
     rc = (toys.optflags & FLAG_s) ? symlink(try, new) : link(try, new);
     if (rc)
       perror_exit("cannot create %s link from '%s' to '%s'",
         (toys.optflags & FLAG_s) ? "symbolic" : "hard", try, new);
+    else if (toys.optflags & FLAG_v)
+      fprintf(stderr, "'%s' -> '%s'\n", new, try);
     if (new != dest) free(new);
   }
 }