diff options
| author | Simon Tatham <anakin@pobox.com> | 2017-04-30 18:40:41 +0100 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2017-04-30 18:48:46 +0100 |
| commit | 9972f35b27cadd6a49f2ec57f2ec07e4fa373341 (patch) | |
| tree | 5acd792ae1d0863f015f4e210313ece5edf4350a /misc.c | |
| parent | cefb84c2dbec914dc2733f776bb39d9055034c92 (diff) | |
| download | puzzles-9972f35b27cadd6a49f2ec57f2ec07e4fa373341.zip puzzles-9972f35b27cadd6a49f2ec57f2ec07e4fa373341.tar.gz puzzles-9972f35b27cadd6a49f2ec57f2ec07e4fa373341.tar.bz2 puzzles-9972f35b27cadd6a49f2ec57f2ec07e4fa373341.tar.xz | |
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.
Diffstat (limited to 'misc.c')
| -rw-r--r-- | misc.c | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -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; } |