+add_path(char *path, char *file)
+{
+ char *s;
+ size_t plen, flen;
+
+ if(!path || !file) return NULL;
+ plen = strlen(path);
+ flen = strlen(file);
+ s = malloc(2+plen+flen);
+ if(!s) return NULL;
+ memcpy(s, path, plen);
+ s[plen] = PATH_SEPARATOR;
+ memcpy(s+plen+1, file, flen+1);
+ return s;
+}
+
+char *
+add_data_path(char *filename)
+{
+ return add_path(g_data_dir, filename);
+}
+
+#ifdef WIN32
+
+bool
+is_dir(char *dirname)