mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-20 23:51:29 -07:00
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!
This commit is contained in:

committed by
Simon Tatham

parent
2d33375027
commit
cefb84c2db
13
misc.c
13
misc.c
@ -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: */
|
||||
|
Reference in New Issue
Block a user