From 2ca8ac198d86668e1d6e517974354870c32ad70f Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Sun, 22 Apr 2012 16:22:32 -0400 Subject: [PATCH] Only use ./data if it contains b_variotions.png --- file.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/file.c b/file.c index 3a77ffd..5ce183f 100644 --- a/file.c +++ b/file.c @@ -91,11 +91,23 @@ static bool is_dir(char *dirname) { struct stat buf; - stat(dirname, &buf); + if(stat(dirname, &buf)) { + return false; + } return S_ISDIR(buf.st_mode); } static bool +is_file(char *dirname) +{ + struct stat buf; + if(stat(dirname, &buf)) { + return false; + } + return S_ISREG(buf.st_mode); +} + +static bool find_data_dir(void) { int i; @@ -108,7 +120,11 @@ find_data_dir(void) for(i=0; i<3; i++) { if(!data_options[i]) continue; g_data_dir = strdup(data_options[i]); - if(is_dir(g_data_dir)) return true; + if(is_dir(g_data_dir)) { + char *s = add_path(g_data_dir, "b_variations.png"); + if(s) if(is_file(s)) + return true; + } } fprintf(stderr, "Can't find VoR data! Tried:\n"); -- 1.7.10.4