fix cache file messup
This commit is contained in:
parent
e917202d5e
commit
a684e7511d
|
@ -2289,7 +2289,7 @@ SWITCH_STANDARD_APP(httapi_function)
|
|||
|
||||
static char *load_cache_data(http_file_context_t *context, const char *url)
|
||||
{
|
||||
char *ext = NULL;
|
||||
char *ext = NULL, *dext = NULL, *p;
|
||||
char digest[SWITCH_MD5_DIGEST_STRING_SIZE] = { 0 };
|
||||
char meta_buffer[1024] = "";
|
||||
int fd;
|
||||
|
@ -2309,6 +2309,14 @@ static char *load_cache_data(http_file_context_t *context, const char *url)
|
|||
}
|
||||
}
|
||||
|
||||
if (ext && (p = strchr(ext, '?'))) {
|
||||
dext = strdup(ext);
|
||||
if ((p = strchr(dext, '?'))) {
|
||||
*p = '\0';
|
||||
ext = dext;
|
||||
} else free(dext);
|
||||
}
|
||||
|
||||
context->cache_file_base = switch_core_sprintf(context->pool, "%s%s%s", globals.cache_path, SWITCH_PATH_SEPARATOR, digest);
|
||||
context->cache_file = switch_core_sprintf(context->pool, "%s%s%s.%s", globals.cache_path, SWITCH_PATH_SEPARATOR, digest, ext);
|
||||
context->meta_file = switch_core_sprintf(context->pool, "%s.meta", context->cache_file);
|
||||
|
@ -2329,6 +2337,8 @@ static char *load_cache_data(http_file_context_t *context, const char *url)
|
|||
close(fd);
|
||||
}
|
||||
|
||||
switch_safe_free(dext);
|
||||
|
||||
return context->cache_file;
|
||||
}
|
||||
|
||||
|
@ -2600,6 +2610,12 @@ static switch_status_t locate_url_file(http_file_context_t *context, const char
|
|||
|
||||
|
||||
if (newext) {
|
||||
char *p;
|
||||
|
||||
if ((p = strrchr(context->cache_file, '.'))) {
|
||||
*p = '\0';
|
||||
}
|
||||
|
||||
context->cache_file = switch_core_sprintf(context->pool, "%s.%s", context->cache_file, newext);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue