From c929c6abd9cf336572e890ff1390fbf53daae22a Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Tue, 19 Feb 2008 21:38:39 +0000
Subject: [PATCH] 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: https://origsvn.digium.com/svn/asterisk/trunk@103827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/file.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/main/file.c b/main/file.c
index 6b37f16026..2285173e7b 100644
--- a/main/file.c
+++ b/main/file.c
@@ -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;
-- 
GitLab