Author: alexander
Date: 2007-09-30 05:29:26 -0600 (Sun, 30 Sep 2007)
New Revision: 2086

Added:
   trunk/packages/espeak/espeak-1.29-dont-crash.patch
Modified:
   trunk/packages/espeak/Makefile
Log:
"Fixed" the crash of espeak with the Russian voice.
A better fix will be applied when the maintainer replies to the bug report
(sent via private mail).


Modified: trunk/packages/espeak/Makefile
===================================================================
--- trunk/packages/espeak/Makefile      2007-09-30 08:15:06 UTC (rev 2085)
+++ trunk/packages/espeak/Makefile      2007-09-30 11:29:26 UTC (rev 2086)
@@ -16,7 +16,9 @@
 # Chinese file is not downloaded because Chinese cannot be used in
 # Linux console.
 # http://espeak.sourceforge.net/data/zhy_list.zip
- 
+
+PATCH1= espeak-1.29-dont-crash.patch
+
 # Targets
 
 include $(ROOT)/scripts/functions
@@ -33,6 +35,7 @@
        @touch $@
 
 compile-stage2:
+       patch -Np1 -i ../$(PATCH1)
        # Remove dependency on portaudio
        sed -i s/-lportaudio// src/Makefile
        sed -i /USE_PORTAUDIO/d src/speech.h

Added: trunk/packages/espeak/espeak-1.29-dont-crash.patch
===================================================================
--- trunk/packages/espeak/espeak-1.29-dont-crash.patch                          
(rev 0)
+++ trunk/packages/espeak/espeak-1.29-dont-crash.patch  2007-09-30 11:29:26 UTC 
(rev 2086)
@@ -0,0 +1,16 @@
+The "fix" is surely wrong (why did phoneme_tab[final_ph] become NULL in the
+first place?), but it does prevent the crash when using espeak with the
+Russian voice.
+diff -ur espeak-1.29-source.orig/src/dictionary.cpp 
espeak-1.29-source/src/dictionary.cpp
+--- espeak-1.29-source.orig/src/dictionary.cpp 2007-09-30 17:16:23.000000000 
+0600
++++ espeak-1.29-source/src/dictionary.cpp      2007-09-30 17:17:12.000000000 
+0600
+@@ -1109,6 +1109,9 @@
+                       stressed_syllable = vowel_count - 3;
+                       if(vowel_count < 16)
+                       {
++                              if(phoneme_tab[final_ph] == NULL)
++                                      stressed_syllable = 
guess_ru[vowel_count];
++                              else
+                               if(phoneme_tab[final_ph]->type == phVOWEL)
+                                       stressed_syllable = 
guess_ru_v[vowel_count];
+                               else

-- 
http://linuxfromscratch.org/mailman/listinfo/livecd
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to