[Asterisk-cvs] asterisk/channels chan_iax2.c,1.113,1.114

citats at lists.digium.com citats at lists.digium.com
Tue Mar 23 16:46:07 CST 2004


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/home/citats/cvs/asterisk/channels

Modified Files:
	chan_iax2.c 
Log Message:
Check to make sure opendir works in chan_iax2.c (bug 1283)


Index: chan_iax2.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- chan_iax2.c	23 Mar 2004 03:26:23 -0000	1.113
+++ chan_iax2.c	23 Mar 2004 21:42:35 -0000	1.114
@@ -1051,16 +1051,19 @@
 	/* Now that we've freed them, load the new ones */
 	snprintf(dir, sizeof(dir), "%s/firmware/iax", (char *)ast_config_AST_VAR_DIR);
 	fwd = opendir(dir);
-	while((de = readdir(fwd))) {
-		if (de->d_name[0] != '.') {
-			snprintf(fn, sizeof(fn), "%s/%s", dir, de->d_name);
-			if (!try_firmware(fn)) {
-				if (option_verbose > 1)
-					ast_verbose(VERBOSE_PREFIX_2 "Loaded firmware '%s'\n", de->d_name);
+	if (fwd) {
+		while((de = readdir(fwd))) {
+			if (de->d_name[0] != '.') {
+				snprintf(fn, sizeof(fn), "%s/%s", dir, de->d_name);
+				if (!try_firmware(fn)) {
+					if (option_verbose > 1)
+						ast_verbose(VERBOSE_PREFIX_2 "Loaded firmware '%s'\n", de->d_name);
+				}
 			}
 		}
-	}
-	closedir(fwd);
+		closedir(fwd);
+	} else 
+		ast_log(LOG_WARNING, "Error opening firmware directory '%s': %s\n", dir, strerror(errno));
 
 	/* Clean up leftovers */
 	cur = waresl.wares;




More information about the svn-commits mailing list