mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
printk: Replace strncmp() with str_has_prefix()
strncmp(str, const, len) is error-prone because len is easy to have typo. An example is the hard-coded len has counting error or sizeof(const) forgets - 1. So we prefer using newly introduced str_has_prefix() to substitute such strncmp() to make code better. Link: http://lkml.kernel.org/r/20190809071034.17279-1-hslester96@gmail.com Cc: "Steven Rostedt" <rostedt@goodmis.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Chuhong Yuan <hslester96@gmail.com> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> [pmladek@suse.com: Slightly updated and reformatted the commit message.] Signed-off-by: Petr Mladek <pmladek@suse.com>
This commit is contained in:
parent
8ebea6ea1a
commit
35c35493b0
@ -11,11 +11,18 @@
|
||||
|
||||
int _braille_console_setup(char **str, char **brl_options)
|
||||
{
|
||||
if (!strncmp(*str, "brl,", 4)) {
|
||||
size_t len;
|
||||
|
||||
len = str_has_prefix(*str, "brl,");
|
||||
if (len) {
|
||||
*brl_options = "";
|
||||
*str += 4;
|
||||
} else if (!strncmp(*str, "brl=", 4)) {
|
||||
*brl_options = *str + 4;
|
||||
*str += len;
|
||||
return 0;
|
||||
}
|
||||
|
||||
len = str_has_prefix(*str, "brl=");
|
||||
if (len) {
|
||||
*brl_options = *str + len;
|
||||
*str = strchr(*brl_options, ',');
|
||||
if (!*str) {
|
||||
pr_err("need port name after brl=\n");
|
||||
|
@ -118,19 +118,29 @@ static unsigned int __read_mostly devkmsg_log = DEVKMSG_LOG_MASK_DEFAULT;
|
||||
|
||||
static int __control_devkmsg(char *str)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
if (!str)
|
||||
return -EINVAL;
|
||||
|
||||
if (!strncmp(str, "on", 2)) {
|
||||
len = str_has_prefix(str, "on");
|
||||
if (len) {
|
||||
devkmsg_log = DEVKMSG_LOG_MASK_ON;
|
||||
return 2;
|
||||
} else if (!strncmp(str, "off", 3)) {
|
||||
devkmsg_log = DEVKMSG_LOG_MASK_OFF;
|
||||
return 3;
|
||||
} else if (!strncmp(str, "ratelimit", 9)) {
|
||||
devkmsg_log = DEVKMSG_LOG_MASK_DEFAULT;
|
||||
return 9;
|
||||
return len;
|
||||
}
|
||||
|
||||
len = str_has_prefix(str, "off");
|
||||
if (len) {
|
||||
devkmsg_log = DEVKMSG_LOG_MASK_OFF;
|
||||
return len;
|
||||
}
|
||||
|
||||
len = str_has_prefix(str, "ratelimit");
|
||||
if (len) {
|
||||
devkmsg_log = DEVKMSG_LOG_MASK_DEFAULT;
|
||||
return len;
|
||||
}
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user