Author: alexander Date: 2007-12-29 00:27:32 -0700 (Sat, 29 Dec 2007) New Revision: 2152
Added: trunk/packages/speechd-up/speechd-up-0.4-onechar-1.patch Modified: trunk/packages/speechd-up/Makefile Log: Fixed inability of speechd-up to examine punctuation characters and mark capital letters as such. More details on the bug: http://lists.freebsoft.org/pipermail/speechd/2007q4/000977.html Modified: trunk/packages/speechd-up/Makefile =================================================================== --- trunk/packages/speechd-up/Makefile 2007-12-29 07:24:54 UTC (rev 2151) +++ trunk/packages/speechd-up/Makefile 2007-12-29 07:27:32 UTC (rev 2152) @@ -8,6 +8,8 @@ URL-$(FILE)= http://www.freebsoft.org/pub/projects/speechd-up/$(FILE) SHA-$(FILE)= ad31c9a15fd8f5616aff4d35713f736ad8266a92 +PATCH1= speechd-up-0.4-onechar-1.patch + # Targets include $(ROOT)/scripts/functions @@ -20,6 +22,7 @@ $(std_build) compile-stage2: + patch -Np1 -i ../$(PATCH1) ./configure --prefix=/usr --sysconfdir=/etc make make install Added: trunk/packages/speechd-up/speechd-up-0.4-onechar-1.patch =================================================================== --- trunk/packages/speechd-up/speechd-up-0.4-onechar-1.patch (rev 0) +++ trunk/packages/speechd-up/speechd-up-0.4-onechar-1.patch 2007-12-29 07:27:32 UTC (rev 2152) @@ -0,0 +1,35 @@ +diff -ur speechd-up-0.4.bak/speechd-up.c speechd-up-0.4/speechd-up.c +--- speechd-up-0.4.bak/speechd-up.c 2006-10-21 20:01:34.000000000 +0600 ++++ speechd-up-0.4/speechd-up.c 2007-12-28 21:09:40.000000000 +0500 +@@ -324,7 +324,7 @@ + + /* It seems there is a bug in libspeechd function spd_say_char() */ + { +- snprintf(cmd, 14, "KEY %s", cuu); ++ snprintf(cmd, 14, "CHAR %s", cuu); + DBG(5, "Saying single character CMD:|%s|", cmd); + spd_execute_command(conn, "SET SELF PRIORITY TEXT"); + spd_execute_command(conn, cmd); +@@ -375,18 +375,20 @@ + make pointer _c_ point to it. If it is the only character + in the string, _characters_ is 1, otherwise different. */ + for (i=0; i<=bytes-1; i++){ +- if (buf[i] != ' '){ ++ if (buf[i] != ' ' && buf[i] != 24){ + c=buf+i; + characters++; + if (characters>1) break; + } +- if ((unsigned) buf[i] < 32){ ++ if ((unsigned) buf[i] < 32 && (unsigned) buf[i] != 24){ + characters = -1; break; + } + + } + + if (characters == 1){ ++ if (buf[0] == 24) ++ spd_cancel(conn); + say_single_character(c, bytes-i, cd); + iconv_close(cd); + return 0; -- http://linuxfromscratch.org/mailman/listinfo/livecd FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
