ratpoison-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RP] [PATCH] Unnest if statements


From: Mathieu OTHACEHE
Subject: [RP] [PATCH] Unnest if statements
Date: Wed, 23 Nov 2016 09:08:38 +0100

From: Mathieu OTHACEHE <address@hidden>

Unnest if statements in cmd_select. No functional changes.
---
 src/actions.c | 74 ++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 38 insertions(+), 36 deletions(-)

diff --git a/src/actions.c b/src/actions.c
index 3741ea5..fa249f4 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -1392,59 +1392,61 @@ cmd_select (int interactive, struct cmdarg **args)
     return cmdret_new (RET_FAILURE, NULL);
 
   /* Only search if the string contains something to search for. */
-  if (strlen (str) > 0)
+  if (strlen (str) <= 0)
     {
-      if (strlen (str) == 1 && str[0] == '-')
+      /* Silently fail, since the user didn't provide a window spec */
+      ret = cmdret_new (RET_SUCCESS, NULL);
+      goto free;
+    }
+
+  if (strlen (str) == 1 && str[0] == '-')
+    {
+      blank_frame (current_frame());
+      ret = cmdret_new (RET_SUCCESS, NULL);
+    }
+  /* try by number */
+  else if ((n = string_to_positive_int (str)) >= 0)
+    {
+      rp_window_elem *elem = group_find_window_by_number (rp_current_group, n);
+
+      if (elem)
         {
-          blank_frame (current_frame());
+          goto_window (elem->win);
           ret = cmdret_new (RET_SUCCESS, NULL);
         }
-      /* try by number */
-      else if ((n = string_to_positive_int (str)) >= 0)
+      else
         {
-          rp_window_elem *elem = group_find_window_by_number 
(rp_current_group, n);
-
-          if (elem)
+          if (interactive)
             {
-              goto_window (elem->win);
+              /* show the window list as feedback */
+              show_bar (current_screen (), defaults.window_fmt);
               ret = cmdret_new (RET_SUCCESS, NULL);
             }
           else
             {
-              if (interactive)
-                {
-                  /* show the window list as feedback */
-                  show_bar (current_screen (), defaults.window_fmt);
-                  ret = cmdret_new (RET_SUCCESS, NULL);
-                }
-              else
-                {
-                  ret = cmdret_new (RET_FAILURE,
-                                    "select: unknown window number '%d'", n);
-                }
+              ret = cmdret_new (RET_FAILURE,
+                                "select: unknown window number '%d'", n);
             }
         }
-      else
-        /* try by name */
-        {
-          rp_window *win = find_window_name (str, 1);
+    }
+  else
+    /* try by name */
+    {
+      rp_window *win = find_window_name (str, 1);
 
-          if (!win)
-            win = find_window_name (str, 0);
+      if (!win)
+        win = find_window_name (str, 0);
 
-          if (win)
-            {
-              goto_window (win);
-              ret = cmdret_new (RET_SUCCESS, NULL);
-            }
-          else
-            ret = cmdret_new (RET_FAILURE, "select: unknown window '%s'", str);
+      if (win)
+        {
+          goto_window (win);
+          ret = cmdret_new (RET_SUCCESS, NULL);
         }
+      else
+        ret = cmdret_new (RET_FAILURE, "select: unknown window '%s'", str);
     }
-  else
-    /* Silently fail, since the user didn't provide a window spec */
-    ret = cmdret_new (RET_SUCCESS, NULL);
 
+ free:
   free (str);
 
   return ret;
-- 
2.10.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]