X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ffile_analysis.c;h=d8d2d3e936378218b0491a9cec940d203e8d09a5;hp=530416e368cb1fd17a48f93fa7c9bc220b0f1a20;hb=061e359bfc50f006a08410d43527342025d498ad;hpb=678cd10db6d6b81d97f3b98ea0a54657141632ad diff --git a/tools/ccanlint/file_analysis.c b/tools/ccanlint/file_analysis.c index 530416e3..d8d2d3e9 100644 --- a/tools/ccanlint/file_analysis.c +++ b/tools/ccanlint/file_analysis.c @@ -404,6 +404,17 @@ static bool parse_hash_if(struct pp_conditions *cond, const char **line) return false; if (!defined) cond->type = PP_COND_IF; + + /* FIXME: We just chain them, ignoring operators. */ + if (get_token(line, "||") || get_token(line, "&&")) { + struct pp_conditions *sub = talloc(cond, struct pp_conditions); + + sub->parent = cond->parent; + sub->type = PP_COND_IFDEF; + if (parse_hash_if(sub, line)) + cond->parent = sub; + } + return true; }