Krolyxon
Commit 7d40fae

Branches

Refs →

nsxiv7d40fae

Do not create cache files for cache files

Author
Bert
Date
2011-04-07 18:00 +0200
Parent
92709b2
Commit
7d40faeba6076477645e36034b58e4bf82d4a96c

+10 −7

1 file changed

  1. M thumbs.c +10 −7
M thumbs.c View
@@ -327,7 +327,8 @@ int tns_cache_enabled() {
327327
328328 char* tns_cache_filename(const char *filename) {
329329 size_t len;
330− char *cfile, *abspath;
330+ char *cfile = NULL;
331+ const char *abspath;
331332
332333 if (!cache_dir || !filename)
333334 return NULL;
@@ -336,15 +337,17 @@ char* tns_cache_filename(const char *filename) {
336337 if (!(abspath = absolute_path(filename)))
337338 return NULL;
338339 } else {
339− abspath = (char*) s_malloc(strlen(filename) + 1);
340− strcpy(abspath, filename);
340+ abspath = filename;
341341 }
342342
343− len = strlen(cache_dir) + strlen(abspath) + 6;
344− cfile = (char*) s_malloc(len);
345− snprintf(cfile, len, "%s/%s.png", cache_dir, abspath + 1);
343+ if (strncmp(abspath, cache_dir, strlen(cache_dir))) {
344+ len = strlen(cache_dir) + strlen(abspath) + 6;
345+ cfile = (char*) s_malloc(len);
346+ snprintf(cfile, len, "%s/%s.png", cache_dir, abspath + 1);
347+ }
346348
347− free(abspath);
349+ if (abspath != filename)
350+ free((void*) abspath);
348351
349352 return cfile;
350353 }