changeset 113:cd97e7517e21

Simplify error handling logic.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 15 Feb 2016 11:08:59 +0200
parents 55d99dc7c35c
children cc74a9871a44
files sidinfo.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/sidinfo.c	Mon Feb 15 11:08:21 2016 +0200
+++ b/sidinfo.c	Mon Feb 15 11:08:59 2016 +0200
@@ -256,6 +256,7 @@
     PSFStackItem item;
     const char *start = NULL;
     int mode = 0;
+    BOOL rval = TRUE;
 
     siClearStack(stack);
 
@@ -291,17 +292,16 @@
                 {
                     char *field = th_strndup_trim(start, fmt - start, TH_TRIM_BOTH);
                     int ret = argMatchPSFieldError(field);
+                    th_free(field);
                     if (ret >= 0)
                     {
                         item.cmd = ret;
                         item.str = NULL;
                         if (!siStackAddItem(stack, &item))
-                        {
-                            th_free(field);
                             return FALSE;
-                        }
                     }
-                    th_free(field);
+                    else
+                        rval = FALSE;
                 }
                 mode = 0;
             }
@@ -326,7 +326,7 @@
             break;
     }
 
-    return TRUE;
+    return rval;
 }