X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=config%2Fzconf.l;h=64ec778f76f9609fb882ed6eb50182eaed08a825;hp=7578853e7238c0401e546b2cfc80b0bd59916f1e;hb=04b4b91c1092eb054b8e0ddef72052170ef3e4ae;hpb=d44655a5f52f765a5f5aa86cebed06abbe64a51b diff --git a/config/zconf.l b/config/zconf.l index 7578853..64ec778 100644 --- a/config/zconf.l +++ b/config/zconf.l @@ -325,28 +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->parent; - while (iter && \ - strcmp(iter->name,current_file->name)) { - fprintf(stderr, " included from: '%s:%d'\n", - iter->name, iter->lineno-1); + "Recursive inclusion detected.\n" + "Inclusion path:\n" + " current file : %s\n", file->name); + iter = file; + do { iter = iter->parent; - } - if (iter) - fprintf(stderr, " included from: '%s:%d'\n", - iter->name, iter->lineno+1); + fprintf(stderr, " included from: %s:%d\n", + iter->name, iter->lineno - 1); + } while (strcmp(iter->name, file->name)); exit(1); } } + file->lineno = 1; - file->parent = current_file; current_file = file; }