X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Ffile_analysis.c;h=575425df79e0c10ef993ae7f92747e70f3d8bdaf;hb=f243444490e8dcdaa399942b70e72d03005370f7;hp=d915b7ed8f59b131851621e9078410af93784fc1;hpb=d8c9fdc0e6b70ab4fced949ee6488dc585a711f4;p=ccan diff --git a/tools/ccanlint/file_analysis.c b/tools/ccanlint/file_analysis.c index d915b7ed..575425df 100644 --- a/tools/ccanlint/file_analysis.c +++ b/tools/ccanlint/file_analysis.c @@ -105,40 +105,6 @@ static bool continues(const char *line) return strends(line, "\\"); } -/* Get token if it's equal to token. */ -bool get_token(const char **line, const char *token) -{ - unsigned int toklen; - - *line += strspn(*line, " \t"); - if (cisalnum(token[0]) || token[0] == '_') - toklen = strspn(*line, IDENT_CHARS); - else { - /* FIXME: real tokenizer handles ++ and other multi-chars. */ - toklen = strlen(token); - } - - if (toklen == strlen(token) && !strncmp(*line, token, toklen)) { - *line += toklen; - return true; - } - return false; -} - -char *get_symbol_token(void *ctx, const char **line) -{ - unsigned int toklen; - char *ret; - - *line += strspn(*line, " \t"); - toklen = strspn(*line, IDENT_CHARS); - if (!toklen) - return NULL; - ret = talloc_strndup(ctx, *line, toklen); - *line += toklen; - return ret; -} - static bool parse_hash_if(struct pp_conditions *cond, const char **line) { bool brackets, defined; @@ -428,3 +394,13 @@ void score_file_error(struct score *score, struct ccan_file *f, unsigned line, score->error = talloc_append_string(score->error, "... more (use -vv to see them all)\n"); } + +char *get_or_compile_info(const void *ctx, const char *dir) +{ + struct manifest *m = get_manifest(NULL, dir); + + if (!m->info_file->compiled[COMPILE_NORMAL]) + m->info_file->compiled[COMPILE_NORMAL] = compile_info(m, dir); + + return m->info_file->compiled[COMPILE_NORMAL]; +}