[BRLTTY] New release coming soon.

Nicolas Pitre nico at fluxnic.net
Wed Dec 18 18:29:17 EST 2013


On Wed, 18 Dec 2013, Nicolas Pitre wrote:

> On Wed, 18 Dec 2013, Eric Scheibler wrote:
> 
> > Dave Mielke <dave at mielke.cc> schrieb am 18.12.2013, 11:45 -0500:
> > >Eric: This patch has now been committed. Please update and retest.
> > 
> > Updated to ref 8276M. I'am sorry but it's as bad as before. During typing maybe it's even worse
> > again but I can't prove that. It's definitely unusable.
> 
> Argh.  It worked all right for me yesterday.  Now I retest it today and 
> it doesn't work well anymore.
> 
> Could you try reverting the change in revision 8268 (i.e. reintroducing 
> the +1) into the latest source tree and retest please?
> 
> That's what I'm testing right now and this appears to work properly for 
> me.  That should bring things back to what they were as far as the 
> espeak library is concerned.

Just to avoid possible confusion, what I think is needed at this point 
is this patch below.  This is a revert of revision 8268.  Revision 8268 
is the result of a change that I suggested yesterday as the driver 
didn't get a nul terminated string anymore.  But since then I believe 
that the non-nul terminated buffer was the actual bug and the driver 
code should be reverted to its original form.

diff --git a/Drivers/Speech/eSpeak/speech.c b/Drivers/Speech/eSpeak/speech.c
index c474ec9..15547c4 100644
--- a/Drivers/Speech/eSpeak/speech.c
+++ b/Drivers/Speech/eSpeak/speech.c
@@ -57,7 +57,8 @@ spk_say(SpeechSynthesizer *spk, const unsigned char *buffer, size_t length, size
 
 	IndexPos = 0;
 
-	result = espeak_Synth(buffer, length, 0, POS_CHARACTER, 0,
+	/* add 1 to the length in order to pass along the trailing zero */
+	result = espeak_Synth(buffer, length+1, 0, POS_CHARACTER, 0,
 			espeakCHARS_UTF8, NULL, NULL);
 	if (result != EE_OK)
 		logMessage(LOG_ERR, "eSpeak: Synth() returned error %d", result);


Nicolas


More information about the BRLTTY mailing list