forked from Minki/linux
kconfig: fix line number in recursive inclusion error message
When recursive inclusion is detected, the line number of the last 'included from:' is wrong. [Test Case] Kconfig: -------->8-------- source "Kconfig2" -------->8-------- Kconfig2: -------->8-------- source "Kconfig3" -------->8-------- Kconfig3: -------->8-------- source "Kconfig" -------->8-------- [Result] $ make allyesconfig scripts/kconfig/conf --allyesconfig Kconfig Kconfig:1: recursive inclusion detected. Inclusion path: current file : 'Kconfig' included from: 'Kconfig3:1' included from: 'Kconfig2:1' included from: 'Kconfig:3' scripts/kconfig/Makefile:89: recipe for target 'allyesconfig' failed make[1]: *** [allyesconfig] Error 1 Makefile:512: recipe for target 'allyesconfig' failed make: *** [allyesconfig] Error 2 where we expect current file : 'Kconfig' included from: 'Kconfig3:1' included from: 'Kconfig2:1' included from: 'Kconfig:1' The 'iter->lineno+1' in the second fpinrtf() should be 'iter->lineno-1'. I refactored the code to merge the two fprintf() calls. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
This commit is contained in:
parent
a11761c2dd
commit
5ae6fcc4bb
@ -332,16 +332,12 @@ void zconf_nextfile(const char *name)
|
|||||||
"Inclusion path:\n current file : '%s'\n",
|
"Inclusion path:\n current file : '%s'\n",
|
||||||
zconf_curname(), zconf_lineno(),
|
zconf_curname(), zconf_lineno(),
|
||||||
zconf_curname());
|
zconf_curname());
|
||||||
iter = current_file->parent;
|
iter = current_file;
|
||||||
while (iter && \
|
do {
|
||||||
strcmp(iter->name,current_file->name)) {
|
|
||||||
fprintf(stderr, " included from: '%s:%d'\n",
|
|
||||||
iter->name, iter->lineno-1);
|
|
||||||
iter = iter->parent;
|
iter = iter->parent;
|
||||||
}
|
|
||||||
if (iter)
|
|
||||||
fprintf(stderr, " included from: '%s:%d'\n",
|
fprintf(stderr, " included from: '%s:%d'\n",
|
||||||
iter->name, iter->lineno+1);
|
iter->name, iter->lineno - 1);
|
||||||
|
} while (strcmp(iter->name, current_file->name));
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user