ash: placate -Werror=format-security
No binary (build failed)
—
(log yok)
| @@ -407,6 +407,7 @@ typedef unsigned smalluint; | |
| #define HAVE_SETBIT 1 | |
| #define HAVE_SIGHANDLER_T 1 | |
| #define HAVE_STPCPY 1 | |
| + | #define HAVE_STPNCPY 1 |
| #define HAVE_MEMPCPY 1 | |
| #define HAVE_STRCASESTR 1 | |
| #define HAVE_STRCHRNUL 1 | |
| @@ -442,6 +443,7 @@ typedef unsigned smalluint; | |
| # undef HAVE_MKDTEMP | |
| # undef HAVE_SETBIT | |
| # undef HAVE_STPCPY | |
| + | # undef HAVE_STPNCPY |
| # undef HAVE_STRCASESTR | |
| # undef HAVE_STRCHRNUL | |
| # undef HAVE_STRSEP | |
| @@ -514,6 +516,7 @@ typedef unsigned smalluint; | |
| #if defined(__digital__) && defined(__unix__) | |
| # undef HAVE_STPCPY | |
| + | # undef HAVE_STPNCPY |
| #endif | |
| #if defined(ANDROID) || defined(__ANDROID__) | |
| @@ -530,6 +533,7 @@ typedef unsigned smalluint; | |
| # undef HAVE_TTYNAME_R | |
| # undef HAVE_GETLINE | |
| # undef HAVE_STPCPY | |
| + | # undef HAVE_STPNCPY |
| # endif | |
| # undef HAVE_MEMPCPY | |
| # undef HAVE_STRCHRNUL | |
| @@ -574,6 +578,10 @@ typedef void (*sighandler_t)(int); | |
| extern char *stpcpy(char *p, const char *to_add) FAST_FUNC; | |
| #endif | |
| + | #ifndef HAVE_STPNCPY |
| + | extern char *stpncpy(char *p, const char *to_add, size_t n) FAST_FUNC; |
| + | #endif |
| + | |
| #ifndef HAVE_MEMPCPY | |
| #include <string.h> | |
| /* In case we are wrong about !HAVE_MEMPCPY, and toolchain _does_ have | |
| @@ -166,6 +166,18 @@ char* FAST_FUNC stpcpy(char *p, const char *to_add) | |
| } | |
| #endif | |
| + | #ifndef HAVE_STPNCPY |
| + | char* FAST_FUNC stpncpy(char *p, const char *to_add, size_t n) |
| + | { |
| + | while (n != 0 && (*p = *to_add) != '\0') { |
| + | p++; |
| + | to_add++; |
| + | n--; |
| + | } |
| + | return p; |
| + | } |
| + | #endif |
| + | |
| #ifndef HAVE_GETLINE | |
| ssize_t FAST_FUNC getline(char **lineptr, size_t *n, FILE *stream) | |
| { | |
| @@ -4263,9 +4263,7 @@ sprint_status48(char *os, int status, int sigonly) | |
| #endif | |
| } | |
| st &= 0x7f; | |
| - | //TODO: use bbox's get_signame? strsignal adds ~600 bytes to text+rodata |
| - | //s = stpncpy(s, strsignal(st), 32); //not all libc have stpncpy() |
| - | s += fmtstr(s, 32, strsignal(st)); |
| + | s = stpncpy(s, strsignal(st), 32); |
| if (WCOREDUMP(status)) { | |
| s = stpcpy(s, " (core dumped)"); | |
| } | |