From 48e8ad2108775cc467abf226463c6f9ac10e2209 Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Thu, 18 Mar 2021 19:56:07 +1300 Subject: [PATCH] Fix secondary segfault on Arch. --- src/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 901548c..71db34d 100644 --- a/src/main.c +++ b/src/main.c @@ -132,12 +132,13 @@ void speak(char *ssml, char *mark, char* fallback) { } void speak_text(char *text, espeak_PARAMETER param, int value) { - if (param != 0) espeak_SetParameter(param, value, /* relative */1); + int curval = param != 0 ? espeak_GetParameter(param, 0) : 0; + if (param != 0) espeak_SetParameter(param, curval + value, /* relative */0); int flags = espeakCHARS_AUTO | espeakPHONEMES | espeakENDPAUSE | espeakCHARS_UTF8; espeak_Synth(text, strlen(text)+1, 0, POS_CHARACTER, 0, flags, NULL, NULL); - if (param != 0) espeak_SetParameter(param, espeak_GetParameter(param, /* current */0), /* relative */0); + if (param != 0) espeak_SetParameter(param, curval, /* relative */0); } /* Utilities */ -- 2.30.2