[svn-commits] russell: branch 1.6.0 r134918 - in /branches/1.6.0: ./ apps/app_ices.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Jul 31 14:41:11 CDT 2008


Author: russell
Date: Thu Jul 31 14:41:11 2008
New Revision: 134918

URL: http://svn.digium.com/view/asterisk?view=rev&rev=134918
Log:
Merged revisions 134917 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r134917 | russell | 2008-07-31 14:39:50 -0500 (Thu, 31 Jul 2008) | 17 lines

Merged revisions 134915 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r134915 | russell | 2008-07-31 14:37:26 -0500 (Thu, 31 Jul 2008) | 9 lines

Get app_ices working again

(closes issue #12981)
Reported by: dlogan
Patches:
      20080709__app_ices_v2_update_trunk.diff uploaded by bbryant (license 36)
      20080709__app_ices_v2_update_14.diff uploaded by bbryant (license 36)
Tested by: bbryant

........

................

Modified:
    branches/1.6.0/   (props changed)
    branches/1.6.0/apps/app_ices.c

Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.0/apps/app_ices.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_ices.c?view=diff&rev=134918&r1=134917&r2=134918
==============================================================================
--- branches/1.6.0/apps/app_ices.c (original)
+++ branches/1.6.0/apps/app_ices.c Thu Jul 31 14:41:11 2008
@@ -44,8 +44,8 @@
 #include "asterisk/module.h"
 #include "asterisk/translate.h"
 
-#define ICES "/usr/bin/ices"
-#define LOCAL_ICES "/usr/local/bin/ices"
+#define path_BIN "/usr/bin/"
+#define path_LOCAL "/usr/local/bin/"
 
 static char *app = "ICES";
 
@@ -54,7 +54,9 @@
 static char *descrip = 
 "  ICES(config.xml) Streams to an icecast server using ices\n"
 "(available separately).  A configuration file must be supplied\n"
-"for ices (see examples/asterisk-ices.conf). \n";
+"for ices (see contrib/asterisk-ices.xml). \n"
+"\n"
+"- ICES version 2 cient and server required.\n";
 
 
 static int icesencode(char *filename, int fd)
@@ -85,13 +87,23 @@
 		if ((x != STDIN_FILENO) && (x != STDOUT_FILENO))
 			close(x);
 	}
-	/* Most commonly installed in /usr/local/bin */
-	execl(ICES, "ices", filename, (char *)NULL);
-	/* But many places has it in /usr/bin */
-	execl(LOCAL_ICES, "ices", filename, (char *)NULL);
-	/* As a last-ditch effort, try to use PATH */
-	execlp("ices", "ices", filename, (char *)NULL);
-	ast_log(LOG_WARNING, "Execute of ices failed\n");
+
+	/* Most commonly installed in /usr/local/bin 
+	 * But many places has it in /usr/bin 
+	 * As a last-ditch effort, try to use PATH
+	 */
+	execl(path_LOCAL "ices2", "ices", filename, NULL);
+	execl(path_BIN "ices2", "ices", filename, NULL);
+	execlp("ices2", "ices", filename, NULL);
+
+	ast_debug(1, "Couldn't find ices version 2, attempting to use ices version 1.");
+
+	execl(path_LOCAL "ices", "ices", filename, NULL);
+	execl(path_BIN "ices", "ices", filename, NULL);
+	execlp("ices", "ices", filename, NULL);
+
+	ast_log(LOG_WARNING, "Execute of ices failed, could not find command.\n");
+	close(fd);
 	_exit(0);
 }
 
@@ -151,7 +163,6 @@
 	if (c)
 		*c = '\0';	
 	res = icesencode(filename, fds[0]);
-	close(fds[0]);
 	if (res >= 0) {
 		pid = res;
 		for (;;) {
@@ -182,6 +193,7 @@
 			ast_frfree(f);
 		}
 	}
+	close(fds[0]);
 	close(fds[1]);
 	
 	if (pid > -1)




More information about the svn-commits mailing list