]> git.itanic.dy.fi Git - linux-stable/commitdiff
kconfig: massage the loop in conf_read_simple()
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 18 Nov 2023 07:59:12 +0000 (16:59 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 28 Nov 2023 02:22:51 +0000 (11:22 +0900)
Make the while-loop code a little more readable.

The gain is that "CONFIG_FOO" without '=' is warned as unexpected data.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/kconfig/confdata.c

index 958be12cd621a865b9ecc532fb2994e3f74ff70e..bd14aae1db582f26bbd0851af3e8a58ab42acc29 100644 (file)
@@ -443,6 +443,10 @@ int conf_read_simple(const char *name, int def)
 
        while (getline_stripped(&line, &line_asize, in) != -1) {
                conf_lineno++;
+
+               if (!line[0]) /* blank line */
+                       continue;
+
                if (line[0] == '#') {
                        if (line[1] != ' ')
                                continue;
@@ -458,17 +462,20 @@ int conf_read_simple(const char *name, int def)
                                continue;
 
                        val = "n";
-               } else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) {
+               } else {
+                       if (memcmp(line, CONFIG_, strlen(CONFIG_))) {
+                               conf_warning("unexpected data: %s", line);
+                               continue;
+                       }
+
                        sym_name = line + strlen(CONFIG_);
                        p = strchr(sym_name, '=');
-                       if (!p)
+                       if (!p) {
+                               conf_warning("unexpected data: %s", line);
                                continue;
+                       }
                        *p = 0;
                        val = p + 1;
-               } else {
-                       if (line[0] != '\0')
-                               conf_warning("unexpected data: %s", line);
-                       continue;
                }
 
                sym = sym_find(sym_name);