From: Rob Clark Date: Tue, 28 Jul 2020 15:30:13 +0000 (-0700) Subject: freedreno/rnn: split out helper to find files X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a910839bafbd07aeae67d682d70926dd6fa549e;p=mesa.git freedreno/rnn: split out helper to find files So we can re-use it to locate the schema file. Signed-off-by: Rob Clark Part-of: --- diff --git a/src/freedreno/rnn/rnn.c b/src/freedreno/rnn/rnn.c index d28f7a02ddc..8893827170e 100644 --- a/src/freedreno/rnn/rnn.c +++ b/src/freedreno/rnn/rnn.c @@ -878,10 +878,10 @@ static int trytop (struct rnndb *db, char *file, xmlNode *node) { return 0; } -void rnn_parsefile (struct rnndb *db, char *file_orig) { - int i; - char *fname; +static char * find_file(const char *file_orig) +{ const char *rnn_path = getenv("RNN_PATH"); + char *fname; if (!rnn_path) rnn_path = RNN_DEF_PATH; @@ -889,10 +889,22 @@ void rnn_parsefile (struct rnndb *db, char *file_orig) { FILE *file = find_in_path(file_orig, rnn_path, &fname); if (!file) { fprintf (stderr, "%s: couldn't find database file. Please set the env var RNN_PATH.\n", file_orig); + return NULL; + } + fclose(file); + + return fname; +} + +void rnn_parsefile (struct rnndb *db, char *file_orig) { + int i; + char *fname; + + fname = find_file(file_orig); + if (!fname) { db->estatus = 1; return; } - fclose(file); for (i = 0; i < db->filesnum; i++) if (!strcmp(db->files[i], fname))