Fix voicemail symlinks (bug #3024)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2005-01-10 04:18:18 +00:00
parent 77dafbed41
commit 9a3304c65d
3 changed files with 36 additions and 88 deletions

20
file.c
View File

@@ -282,19 +282,23 @@ static char *build_filename(const char *filename, const char *ext)
{
char *fn;
int fnsize = 0;
char tmp[AST_CONFIG_MAX_PATH]="";
snprintf(tmp, sizeof(tmp), "%s/%s", ast_config_AST_VAR_DIR, "sounds");
fnsize = strlen(tmp) + strlen(filename) + strlen(ext) + 10;
fn = malloc(fnsize);
if (fn) {
if (filename[0] == '/')
if (filename[0] == '/') {
fnsize = strlen(filename) + strlen(ext) + 2;
fn = malloc(fnsize);
if (fn)
snprintf(fn, fnsize, "%s.%s", filename, ext);
else
} else {
char tmp[AST_CONFIG_MAX_PATH] = "";
snprintf(tmp, sizeof(tmp), "%s/%s", ast_config_AST_VAR_DIR, "sounds");
fnsize = strlen(tmp) + strlen(filename) + strlen(ext) + 3;
fn = malloc(fnsize);
if (fn)
snprintf(fn, fnsize, "%s/%s.%s", tmp, filename, ext);
}
return fn;
}
static int exts_compare(const char *exts, const char *type)