os: support %c in pnprintf
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
58ef34ee6d
commit
d903d17d7f
7
os/log.c
7
os/log.c
|
@ -450,6 +450,13 @@ pnprintf(char *string, size_t size, const char *f, va_list args)
|
||||||
string[s_idx++] = number[i];
|
string[s_idx++] = number[i];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'c':
|
||||||
|
{
|
||||||
|
char c = va_arg(args, int);
|
||||||
|
if (s_idx < size - 1)
|
||||||
|
string[s_idx++] = c;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case '%':
|
case '%':
|
||||||
string[s_idx++] = '%';
|
string[s_idx++] = '%';
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -201,6 +201,11 @@ static void logging_format(void)
|
||||||
read_log_msg(logmsg);
|
read_log_msg(logmsg);
|
||||||
assert(strcmp(logmsg, "(EE) test %\n") == 0);
|
assert(strcmp(logmsg, "(EE) test %\n") == 0);
|
||||||
|
|
||||||
|
/* character */
|
||||||
|
LogMessageVerbSigSafe(X_ERROR, -1, "test %c\n", 'a');
|
||||||
|
read_log_msg(logmsg);
|
||||||
|
assert(strcmp(logmsg, "(EE) test a\n") == 0);
|
||||||
|
|
||||||
/* string substitution */
|
/* string substitution */
|
||||||
LogMessageVerbSigSafe(X_ERROR, -1, "%s\n", "substituted string");
|
LogMessageVerbSigSafe(X_ERROR, -1, "%s\n", "substituted string");
|
||||||
read_log_msg(logmsg);
|
read_log_msg(logmsg);
|
||||||
|
|
Loading…
Reference in New Issue