diff options
-rw-r--r-- | system/graveman/sox.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/system/graveman/sox.patch b/system/graveman/sox.patch new file mode 100644 index 000000000000..b14517ba50a3 --- /dev/null +++ b/system/graveman/sox.patch @@ -0,0 +1,38 @@ +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; |