]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
staging: speakup: i18n.c: Refactor conditionals in spk_msg_set
authorNarcisa Ana Maria Vasile <narcisaanamaria12@gmail.com>
Thu, 9 Mar 2017 22:53:44 +0000 (00:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Mar 2017 14:27:45 +0000 (15:27 +0100)
Reduce the indentation level in spk_msg_set and remove
unnecessary return variable.

Signed-off-by: Narcisa Ana Maria Vasile <narcisaanamaria12@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/speakup/i18n.c

index a8326db78a0fd024b9b683fe94c31549eeca5030..7809867f5d288f7bb866b33e7c8203393bfb7398 100644 (file)
@@ -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)
 {
-       int rc = 0;
        char *newstr = NULL;
        unsigned long flags;
 
-       if ((index >= MSG_FIRST_INDEX) && (index < MSG_LAST_INDEX)) {
-               newstr = kmalloc(length + 1, GFP_KERNEL);
-               if (newstr) {
-                       memcpy(newstr, text, length);
-                       newstr[length] = '\0';
-                       if (index >= MSG_FORMATTED_START &&
-                           index <= MSG_FORMATTED_END &&
-                           !fmt_validate(speakup_default_msgs[index],
-                                         newstr)) {
-                               kfree(newstr);
-                               return -EINVAL;
-                       }
-                       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);
-               } else {
-                       rc = -ENOMEM;
-               }
-       } else {
-               rc = -EINVAL;
+       if ((index < MSG_FIRST_INDEX) || (index >= MSG_LAST_INDEX))
+               return -EINVAL;
+
+       newstr = kmalloc(length + 1, GFP_KERNEL);
+       if (!newstr)
+               return -ENOMEM;
+
+       memcpy(newstr, text, length);
+       newstr[length] = '\0';
+       if (index >= MSG_FORMATTED_START &&
+           index <= MSG_FORMATTED_END &&
+           !fmt_validate(speakup_default_msgs[index], newstr)) {
+               kfree(newstr);
+               return -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;
 }
 
 /*