diff options
| author | Franklin Wei <me@fwei.tk> | 2017-04-28 19:48:36 -0400 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2017-04-30 18:32:36 +0100 |
| commit | cefb84c2dbec914dc2733f776bb39d9055034c92 (patch) | |
| tree | 7cf851cc64c9a9d9608c2a8fccd5dec899a41b44 /misc.c | |
| parent | 2d333750272c3967cfd5cd3677572cddeaad5932 (diff) | |
| download | puzzles-cefb84c2dbec914dc2733f776bb39d9055034c92.zip puzzles-cefb84c2dbec914dc2733f776bb39d9055034c92.tar.gz puzzles-cefb84c2dbec914dc2733f776bb39d9055034c92.tar.bz2 puzzles-cefb84c2dbec914dc2733f776bb39d9055034c92.tar.xz | |
Work around non-compliant sprintf().
Rockbox's sprintf() lacks the ability to left-justify a string. Fixed
by adding a copy_left_justfied() function to misc.c.
This is a new version of this commit, as the previous version broke
saving!
Diffstat (limited to 'misc.c')
| -rw-r--r-- | misc.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -358,6 +358,19 @@ void draw_text_outline(drawing *dr, int x, int y, int fonttype, draw_text(dr, x, y+1, fonttype, fontsize, align, outline_colour, text); } draw_text(dr, x, y, fonttype, fontsize, align, text_colour, text); + +} + +/* kludge for non-compliant sprintf() */ +void copy_left_justified(char *buf, size_t sz, const char *str) +{ + memset(buf, ' ', sz - 1); + int len = strlen(str); + if(len <= sz - 1) + memcpy(buf, str, len); + else + fatal("overrun"); + buf[sz - 1] = 0; } /* vim: set shiftwidth=4 tabstop=8: */ |