prefs: Avoid empty elements in string lists.
authorStig Bjørlykke <stig@bjorlykke.org>
Thu, 1 Jun 2017 08:57:05 +0000 (10:57 +0200)
committerMichael Mann <mmann78@netscape.net>
Thu, 1 Jun 2017 11:30:25 +0000 (11:30 +0000)
When parsing a comma-separated string list from file we should not
add an empty element if this list is empty.  Otherwise we would
get an empty string in when writing the file back.

Change-Id: Iea5a33d20991f8c5daed6811beb8ec97b8b1dbe3
Reviewed-on: https://code.wireshark.org/review/21870
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
epan/prefs.c

index 0c53992d4a9698f6027c689adb08b2a513a57560..854fba53c8793cae318b2b658764f8b25b30af06 100644 (file)
@@ -3612,7 +3612,8 @@ prefs_get_string_list(const gchar *str)
                 return NULL;
             }
             slstr[j] = '\0';
-            sl = g_list_append(sl, slstr);
+            if (j > 0)
+                sl = g_list_append(sl, slstr);
             break;
         }
         if (cur_c == '"' && ! backslash) {
@@ -3648,7 +3649,8 @@ prefs_get_string_list(const gchar *str)
                and it wasn't preceded by a backslash; it's the end of
                the string we were working on...  */
             slstr[j] = '\0';
-            sl = g_list_append(sl, slstr);
+            if (j > 0)
+                sl = g_list_append(sl, slstr);
 
             /* ...and the beginning of a new string.  */
             state = PRE_STRING;