os: complain about unsupported pnprintf directives
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
d903d17d7f
commit
d9848fb4b1
1
os/log.c
1
os/log.c
|
@ -461,6 +461,7 @@ pnprintf(char *string, size_t size, const char *f, va_list args)
|
|||
string[s_idx++] = '%';
|
||||
break;
|
||||
default:
|
||||
BUG_WARN_MSG(f[f_idx], "Unsupported printf directive '%c'\n", f[f_idx]);
|
||||
va_arg(args, char*);
|
||||
string[s_idx++] = '%';
|
||||
if (s_idx < size - 1)
|
||||
|
|
|
@ -206,6 +206,13 @@ static void logging_format(void)
|
|||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) test a\n") == 0);
|
||||
|
||||
/* something unsupported % */
|
||||
LogMessageVerbSigSafe(X_ERROR, -1, "test %Q\n");
|
||||
read_log_msg(logmsg);
|
||||
assert(strstr(logmsg, "BUG") != NULL);
|
||||
LogMessageVerbSigSafe(X_ERROR, -1, "\n");
|
||||
fseek(f, 0, SEEK_END);
|
||||
|
||||
/* string substitution */
|
||||
LogMessageVerbSigSafe(X_ERROR, -1, "%s\n", "substituted string");
|
||||
read_log_msg(logmsg);
|
||||
|
|
Loading…
Reference in New Issue
Block a user