kconfig: detect recursive inclusion earlier
[carl9170fw.git] / config / zconf.l
index cb495790f447267c23c61ba5bd3df03406521af1..64ec778f76f9609fb882ed6eb50182eaed08a825 100644 (file)
@@ -325,24 +325,25 @@ void zconf_nextfile(const char *name)
        buf->parent = current_buf;
        current_buf = buf;
 
-       for (iter = current_file->parent; iter; iter = iter->parent ) {
-               if (!strcmp(current_file->name,iter->name) ) {
+       file->parent = current_file;
+
+       for (iter = current_file; iter; iter = iter->parent) {
+               if (!strcmp(iter->name, file->name)) {
                        fprintf(stderr,
-                               "%s:%d: recursive inclusion detected. "
-                               "Inclusion path:\n  current file : '%s'\n",
-                               zconf_curname(), zconf_lineno(),
-                               zconf_curname());
-                       iter = current_file;
+                               "Recursive inclusion detected.\n"
+                               "Inclusion path:\n"
+                               "  current file : %s\n", file->name);
+                       iter = file;
                        do {
                                iter = iter->parent;
-                               fprintf(stderr, "  included from: '%s:%d'\n",
+                               fprintf(stderr, "  included from: %s:%d\n",
                                        iter->name, iter->lineno - 1);
-                       } while (strcmp(iter->name, current_file->name));
+                       } while (strcmp(iter->name, file->name));
                        exit(1);
                }
        }
+
        file->lineno = 1;
-       file->parent = current_file;
        current_file = file;
 }