diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2011-03-21 12:36:35 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-03-21 12:36:35 +0100 |
commit | b0e8ced3589c601ad5c15e74d6f82b1928e1eb8f (patch) | |
tree | be5e6987b72e57a0a098709bb7c3280da24b8026 /coreutils | |
parent | 32176ccec4eb1a3bc26b0217fa8d23f6ff44fab8 (diff) | |
download | busybox-w32-b0e8ced3589c601ad5c15e74d6f82b1928e1eb8f.tar.gz busybox-w32-b0e8ced3589c601ad5c15e74d6f82b1928e1eb8f.tar.bz2 busybox-w32-b0e8ced3589c601ad5c15e74d6f82b1928e1eb8f.zip |
ln: explain why we use xstrdup
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/ln.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/coreutils/ln.c b/coreutils/ln.c index ddad120d1..6da290c11 100644 --- a/coreutils/ln.c +++ b/coreutils/ln.c | |||
@@ -40,8 +40,12 @@ int ln_main(int argc, char **argv) | |||
40 | last = argv[argc - 1]; | 40 | last = argv[argc - 1]; |
41 | argv += optind; | 41 | argv += optind; |
42 | 42 | ||
43 | if (argc == optind + 1) { | 43 | if (!argv[1]) { |
44 | /* "ln PATH/TO/FILE" -> "ln PATH/TO/FILE FILE" */ | ||
44 | *--argv = last; | 45 | *--argv = last; |
46 | /* xstrdup is needed: "ln -s PATH/TO/FILE/" is equivalent to | ||
47 | * "ln -s PATH/TO/FILE/ FILE", not "ln -s PATH/TO/FILE FILE" | ||
48 | */ | ||
45 | last = bb_get_last_path_component_strip(xstrdup(last)); | 49 | last = bb_get_last_path_component_strip(xstrdup(last)); |
46 | } | 50 | } |
47 | 51 | ||