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:
Franklin Wei
2017-04-28 19:48:36 -04:00
committed by Simon Tatham
parent 2d33375027
commit cefb84c2db
3 changed files with 21 additions and 1 deletions

13
misc.c
View File

@ -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: */