* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "config.h"
-#include "file.h"
-
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
+#include "common.h"
+#include "config.h"
+#include "file.h"
+
char *g_data_dir;
char *g_score_file;
-mode_t g_score_mode;
+mode_t g_score_mask;
char *
-load_file(char *filename)
+add_path(char *filename)
{
static char r[MAX_PATH_LEN];
snprintf(r, MAX_PATH_LEN, "%s/%s", g_data_dir, filename);
char *data_options[3] = {
"./data",
getenv("VOR_DATA"),
- "/usr/share/vor"
+ DATA_PREFIX
};
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;
}
int
find_score_file(void)
{
- g_score_file = load_file("scores");
- g_score_mode = 0111;
- if(is_file(g_score_file)) return true;
-
g_score_file = malloc(MAX_PATH_LEN);
snprintf(g_score_file, MAX_PATH_LEN,
- "%s/.vor-high", getenv("HOME"));
- g_score_mode = 0177;
+ "%s/.vor-scores", getenv("HOME"));
+ g_score_mask = 0177;
if(is_file(g_score_file)) return true;
return false;
if(!g_score_file) return f;
- old_mask = umask(g_score_mode);
+ old_mask = umask(g_score_mask);
f = fopen(g_score_file, mode);
umask(old_mask);