From cceafc16309fc82508b67d5bca951a76da422ac5 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Wed, 29 Jul 2009 15:06:10 +0000 Subject: [PATCH] Added a hack to no longer substitute in a loop --- src/scanner.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/scanner.c b/src/scanner.c index 5e137f0..15dcc58 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -123,6 +123,7 @@ int cpp_scan(Cpp * cpp, Token ** token) int ret; TokenCode code; char const * str; + char const * s; for(; (ret = cppparser_scan(cpp->parser, token)) == 0; token_delete(*token)) @@ -159,9 +160,11 @@ int cpp_scan(Cpp * cpp, Token ** token) return _scan_undef(cpp, token); case CPP_CODE_WORD: str = token_get_string(*token); - if((str = cpp_define_get(cpp, str)) != NULL) + if((s = cpp_define_get(cpp, str)) != NULL) { - if(cppparser_inject(cpp->parser, str) + if(strcmp(str, s) == 0) /* XXX hack */ + return 0; + if(cppparser_inject(cpp->parser, s) != 0) return -1; continue;