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)
|
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 digest[SWITCH_MD5_DIGEST_STRING_SIZE] = { 0 };
|
||||||
char meta_buffer[1024] = "";
|
char meta_buffer[1024] = "";
|
||||||
int fd;
|
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_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->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);
|
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);
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch_safe_free(dext);
|
||||||
|
|
||||||
return context->cache_file;
|
return context->cache_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2600,6 +2610,12 @@ static switch_status_t locate_url_file(http_file_context_t *context, const char
|
||||||
|
|
||||||
|
|
||||||
if (newext) {
|
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);
|
context->cache_file = switch_core_sprintf(context->pool, "%s.%s", context->cache_file, newext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue