slackbuilds_ponce/system/graveman/sox.patch
2010-05-13 14:11:01 +02:00

38 lines
1.4 KiB
Diff

diff -Naur /var/tmp/portage/graveman-0.3.12_p5/work/graveman-0.3.12-5/src/sox.c ./src/sox.c
--- /var/tmp/portage/graveman-0.3.12_p5/work/graveman-0.3.12-5/src/sox.c 2005-05-28 02:37:14.000000000 +0200
+++ ./src/sox.c 2007-01-27 18:22:11.000000000 +0100
@@ -37,7 +37,7 @@
gboolean check_sox()
{
gchar *Lsox = conf_get_string("sox");
- gchar *Lcommandline, *Lerr = NULL;
+ gchar *Lcommandline, *Lerr = NULL, *Lstdout = NULL;
gboolean Lstatus;
gint Lexit = 0;
@@ -47,12 +47,22 @@
if (!Lsox || !*Lsox) return FALSE;
Lcommandline = g_strdup_printf("%s -help", conf_get_string("sox"));
- Lstatus = g_spawn_command_line_sync(Lcommandline, NULL, &Lerr, &Lexit, NULL);
+ Lstatus = g_spawn_command_line_sync(Lcommandline, &Lstdout, &Lerr, &Lexit, NULL);
g_free(Lcommandline);
- GsupportMp3 = (Lstatus == TRUE && Lerr && ((strstr(Lerr, SOX_MP3))));
- GsupportOgg = (Lstatus == TRUE && Lerr && ((strstr(Lerr, SOX_OGG))));
+ /* sox 12.17 outputs -help to stderr */
+ if (Lerr && strstr(Lerr, "12.17")) {
+ GsupportMp3 = (Lstatus == TRUE && Lerr && ((strstr(Lerr, SOX_MP3))));
+ GsupportOgg = (Lstatus == TRUE && Lerr && ((strstr(Lerr, SOX_OGG))));
+ }
+
+ /* sox 12.18 outputs -help to stdout */
+ else {
+ GsupportMp3 = (Lstatus == TRUE && Lstdout && ((strstr(Lstdout, SOX_MP3))));
+ GsupportOgg = (Lstatus == TRUE && Lstdout && ((strstr(Lstdout, SOX_OGG))));
+ }
+ g_free(Lstdout);
g_free(Lerr);
return Lstatus;