use bb_xbind/bb_xlisten
[oweals/busybox.git] / coreutils / ln.c
index 274e0d06cbbae8abb3566a8346f2a376c309b0cf..229c682185ef029a0bb80deeacc05b30c23d453e 100644 (file)
@@ -36,7 +36,7 @@
 #define LN_BACKUP           8
 #define LN_SUFFIX           16
 
-extern int ln_main(int argc, char **argv)
+int ln_main(int argc, char **argv)
 {
        int status = EXIT_SUCCESS;
        int flag;
@@ -74,17 +74,17 @@ extern int ln_main(int argc, char **argv)
                        src_name = src;
                }
                if (!(flag & LN_SYMLINK) && stat(*argv, &statbuf)) {
-                       bb_perror_msg(*argv);
+                       bb_perror_msg("%s", *argv);
                        status = EXIT_FAILURE;
                        free(src_name);
                        continue;
                }
 
                if (flag & LN_BACKUP) {
-                               char *backup = NULL;
-                               bb_xasprintf(&backup, "%s%s", src, suffix);
+                               char *backup;
+                               backup = bb_xasprintf("%s%s", src, suffix);
                                if (rename(src, backup) < 0 && errno != ENOENT) {
-                                               bb_perror_msg(src);
+                                               bb_perror_msg("%s", src);
                                                status = EXIT_FAILURE;
                                                free(backup);
                                                continue;
@@ -106,7 +106,7 @@ extern int ln_main(int argc, char **argv)
                }
 
                if (link_func(*argv, src) != 0) {
-                       bb_perror_msg(src);
+                       bb_perror_msg("%s", src);
                        status = EXIT_FAILURE;
                }