Commit 38081c71 authored by Narcisa Ana Maria Vasile's avatar Narcisa Ana Maria Vasile Committed by Greg Kroah-Hartman

staging: speakup: i18n.c: Refactor conditionals in spk_msg_set

Reduce the indentation level in spk_msg_set and remove
unnecessary return variable.
Signed-off-by: default avatarNarcisa Ana Maria Vasile <narcisaanamaria12@gmail.com>
Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent eaeab71f
...@@ -541,34 +541,30 @@ static bool fmt_validate(char *template, char *user) ...@@ -541,34 +541,30 @@ static bool fmt_validate(char *template, char *user)
*/ */
ssize_t spk_msg_set(enum msg_index_t index, char *text, size_t length) ssize_t spk_msg_set(enum msg_index_t index, char *text, size_t length)
{ {
int rc = 0;
char *newstr = NULL; char *newstr = NULL;
unsigned long flags; unsigned long flags;
if ((index >= MSG_FIRST_INDEX) && (index < MSG_LAST_INDEX)) { if ((index < MSG_FIRST_INDEX) || (index >= MSG_LAST_INDEX))
newstr = kmalloc(length + 1, GFP_KERNEL); return -EINVAL;
if (newstr) {
memcpy(newstr, text, length); newstr = kmalloc(length + 1, GFP_KERNEL);
newstr[length] = '\0'; if (!newstr)
if (index >= MSG_FORMATTED_START && return -ENOMEM;
index <= MSG_FORMATTED_END &&
!fmt_validate(speakup_default_msgs[index], memcpy(newstr, text, length);
newstr)) { newstr[length] = '\0';
kfree(newstr); if (index >= MSG_FORMATTED_START &&
return -EINVAL; index <= MSG_FORMATTED_END &&
} !fmt_validate(speakup_default_msgs[index], newstr)) {
spin_lock_irqsave(&speakup_info.spinlock, flags); kfree(newstr);
if (speakup_msgs[index] != speakup_default_msgs[index]) return -EINVAL;
kfree(speakup_msgs[index]);
speakup_msgs[index] = newstr;
spin_unlock_irqrestore(&speakup_info.spinlock, flags);
} else {
rc = -ENOMEM;
}
} else {
rc = -EINVAL;
} }
return rc; spin_lock_irqsave(&speakup_info.spinlock, flags);
if (speakup_msgs[index] != speakup_default_msgs[index])
kfree(speakup_msgs[index]);
speakup_msgs[index] = newstr;
spin_unlock_irqrestore(&speakup_info.spinlock, flags);
return 0;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment