ln: explain why we use xstrdup

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2011-03-21 12:36:35 +01:00
parent 32176ccec4
commit b0e8ced358

View File

@ -40,8 +40,12 @@ int ln_main(int argc, char **argv)
last = argv[argc - 1]; last = argv[argc - 1];
argv += optind; argv += optind;
if (argc == optind + 1) { if (!argv[1]) {
/* "ln PATH/TO/FILE" -> "ln PATH/TO/FILE FILE" */
*--argv = last; *--argv = last;
/* xstrdup is needed: "ln -s PATH/TO/FILE/" is equivalent to
* "ln -s PATH/TO/FILE/ FILE", not "ln -s PATH/TO/FILE FILE"
*/
last = bb_get_last_path_component_strip(xstrdup(last)); last = bb_get_last_path_component_strip(xstrdup(last));
} }