ash: jobs: Replace some uses of fmtstr with stpcpy/stpncpy
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 16 Feb 2020 17:23:43 +0000 (18:23 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 16 Feb 2020 18:14:45 +0000 (19:14 +0100)
Upstream commit:

    Date: Sat, 19 May 2018 02:39:45 +0800
    jobs: Replace some uses of fmtstr with stpcpy/stpncpy

    Some uses of fmtstr, particularly the ones without a format string,
    can be replaced with stpcpy or stpncpy.  This patch does that so
    we don't have to introduce unnecessary format strings in order to
    silence compiler warnings.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c

index a006a1c261ad714ac364c3b1737c5bf8e0576b20..75edebd8d8ded4e5a8cc86d4c09e15b36cdcf0eb 100644 (file)
@@ -4203,12 +4203,11 @@ fg_bgcmd(int argc UNUSED_PARAM, char **argv)
 #endif
 
 static int
-sprint_status48(char *s, int status, int sigonly)
+sprint_status48(char *os, int status, int sigonly)
 {
-       int col;
+       char *s = os;
        int st;
 
-       col = 0;
        if (!WIFEXITED(status)) {
 #if JOBS
                if (WIFSTOPPED(status))
@@ -4226,17 +4225,17 @@ sprint_status48(char *s, int status, int sigonly)
                }
                st &= 0x7f;
 //TODO: use bbox's get_signame? strsignal adds ~600 bytes to text+rodata
-               col = fmtstr(s, 32, strsignal(st));
+               //s = stpncpy(s, strsignal(st), 32); //not all libc have stpncpy()
+               s += fmtstr(s, 32, strsignal(st));
                if (WCOREDUMP(status)) {
-                       strcpy(s + col, " (core dumped)");
-                       col += sizeof(" (core dumped)")-1;
+                       s = stpcpy(s, " (core dumped)");
                }
        } else if (!sigonly) {
                st = WEXITSTATUS(status);
-               col = fmtstr(s, 16, (st ? "Done(%d)" : "Done"), st);
+               s += fmtstr(s, 16, (st ? "Done(%d)" : "Done"), st);
        }
  out:
-       return col;
+       return s - os;
 }
 
 static int