Do not create cache files for cache files

This commit is contained in:
Bert 2011-04-07 18:00:01 +02:00
parent 92709b2b2f
commit 7d40faeba6
1 changed files with 10 additions and 7 deletions

View File

@ -327,7 +327,8 @@ int tns_cache_enabled() {
char* tns_cache_filename(const char *filename) {
size_t len;
char *cfile, *abspath;
char *cfile = NULL;
const char *abspath;
if (!cache_dir || !filename)
return NULL;
@ -336,15 +337,17 @@ char* tns_cache_filename(const char *filename) {
if (!(abspath = absolute_path(filename)))
return NULL;
} else {
abspath = (char*) s_malloc(strlen(filename) + 1);
strcpy(abspath, filename);
abspath = filename;
}
len = strlen(cache_dir) + strlen(abspath) + 6;
cfile = (char*) s_malloc(len);
snprintf(cfile, len, "%s/%s.png", cache_dir, abspath + 1);
if (strncmp(abspath, cache_dir, strlen(cache_dir))) {
len = strlen(cache_dir) + strlen(abspath) + 6;
cfile = (char*) s_malloc(len);
snprintf(cfile, len, "%s/%s.png", cache_dir, abspath + 1);
}
free(abspath);
if (abspath != filename)
free((void*) abspath);
return cfile;
}