[asterisk-commits] russell: trunk r134917 - in /trunk: ./ apps/app_ices.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jul 31 14:39:50 CDT 2008
Author: russell
Date: Thu Jul 31 14:39:50 2008
New Revision: 134917
URL: http://svn.digium.com/view/asterisk?view=rev&rev=134917
Log:
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:
trunk/ (props changed)
trunk/apps/app_ices.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/apps/app_ices.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_ices.c?view=diff&rev=134917&r1=134916&r2=134917
==============================================================================
--- trunk/apps/app_ices.c (original)
+++ trunk/apps/app_ices.c Thu Jul 31 14:39:50 2008
@@ -45,8 +45,8 @@
#include "asterisk/translate.h"
#include "asterisk/app.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";
@@ -55,7 +55,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)
@@ -73,13 +75,23 @@
ast_set_priority(0);
dup2(fd, STDIN_FILENO);
ast_close_fds_above_n(STDERR_FILENO);
- /* 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);
}
@@ -139,7 +151,6 @@
if (c)
*c = '\0';
res = icesencode(filename, fds[0]);
- close(fds[0]);
if (res >= 0) {
pid = res;
for (;;) {
@@ -170,6 +181,7 @@
ast_frfree(f);
}
}
+ close(fds[0]);
close(fds[1]);
if (pid > -1)
More information about the asterisk-commits
mailing list