From cefb84c2dbec914dc2733f776bb39d9055034c92 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Fri, 28 Apr 2017 19:48:36 -0400 Subject: 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! --- midend.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'midend.c') diff --git a/midend.c b/midend.c index c8250ab..2eb5ee9 100644 --- a/midend.c +++ b/midend.c @@ -1610,7 +1610,9 @@ void midend_serialise(midend *me, #define wr(h,s) do { \ char hbuf[80]; \ char *str = (s); \ - sprintf(hbuf, "%-8.8s:%d:", (h), (int)strlen(str)); \ + char lbuf[9]; \ + copy_left_justified(lbuf, sizeof(lbuf), h); \ + sprintf(hbuf, "%s:%d:", lbuf, (int)strlen(str)); \ write(wctx, hbuf, strlen(hbuf)); \ write(wctx, str, strlen(str)); \ write(wctx, "\n", 1); \ -- cgit v1.1