From: Simon Tatham Date: Sun, 30 Apr 2017 17:40:41 +0000 (+0100) Subject: Nitpicks to the previous commit. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=9972f35b27cadd6a49f2ec57f2ec07e4fa373341;p=sgt-puzzles.git Nitpicks to the previous commit. We enforce by assertion that the target buffer size is nonzero before subtracting 1 from it; the call to fatal() is replaced by another assert so that it will give clearer diagnostic information if it fails; the variable holding the return value of strlen should be size_t and its declaration should be in a C90-compatible location. Finally, the reason why the function needs to be exist is clarified. --- diff --git a/misc.c b/misc.c index c721016..c1a595f 100644 --- a/misc.c +++ b/misc.c @@ -361,15 +361,14 @@ void draw_text_outline(drawing *dr, int x, int y, int fonttype, } -/* kludge for non-compliant sprintf() */ +/* kludge for sprintf() in Rockbox not supporting "%-8.8s" */ void copy_left_justified(char *buf, size_t sz, const char *str) { + size_t len = strlen(str); + assert(sz > 0); memset(buf, ' ', sz - 1); - int len = strlen(str); - if(len <= sz - 1) - memcpy(buf, str, len); - else - fatal("overrun"); + assert(len <= sz - 1); + memcpy(buf, str, len); buf[sz - 1] = 0; }