From: Denys Vlasenko Date: Sun, 16 Feb 2020 17:23:43 +0000 (+0100) Subject: ash: jobs: Replace some uses of fmtstr with stpcpy/stpncpy X-Git-Tag: 1_32_0~77 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2bad3a305b5934d17e817a8fbb9c42ee04dc5a3c;p=oweals%2Fbusybox.git ash: jobs: Replace some uses of fmtstr with stpcpy/stpncpy 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 Signed-off-by: Denys Vlasenko --- diff --git a/shell/ash.c b/shell/ash.c index a006a1c26..75edebd8d 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -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