dect
/
asterisk
Archived
13
0
Fork 0

Only output a log message saying the format does not exist if it actually does not exist, not if the file itself could not be opened.

(closes issue #11828)
Reported by: IgorG
Patches:
      readfile.v1.diff uploaded by IgorG (license 20)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103827 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
file 2008-02-19 21:38:39 +00:00
parent d97d910f61
commit 25e78c8a05
1 changed files with 7 additions and 4 deletions

View File

@ -855,6 +855,7 @@ struct ast_filestream *ast_readfile(const char *filename, const char *type, cons
struct ast_format *f;
struct ast_filestream *fs = NULL;
char *fn;
int format_found = 0;
AST_RWLIST_RDLOCK(&formats);
@ -862,19 +863,21 @@ struct ast_filestream *ast_readfile(const char *filename, const char *type, cons
fs = NULL;
if (!exts_compare(f->exts, type))
continue;
else
format_found = 1;
fn = build_filename(filename, type);
errno = 0;
bfile = fopen(fn, "r");
if (!bfile || (fs = get_filestream(f, bfile)) == NULL ||
open_wrapper(fs) ) {
if (!bfile || (fs = get_filestream(f, bfile)) == NULL || open_wrapper(fs) ) {
ast_log(LOG_WARNING, "Unable to open %s\n", fn);
if (fs)
ast_free(fs);
if (bfile)
fclose(bfile);
ast_free(fn);
continue;
break;
}
/* found it */
fs->trans = NULL;
@ -887,7 +890,7 @@ struct ast_filestream *ast_readfile(const char *filename, const char *type, cons
}
AST_RWLIST_UNLOCK(&formats);
if (!fs)
if (!format_found)
ast_log(LOG_WARNING, "No such format '%s'\n", type);
return fs;