Browse Source

cleanup: call CheckTranslator at start of LoadLangugeOptions

master
Juho Hiltunen 2 years ago
parent
commit
78c6873427
1 changed files with 6 additions and 39 deletions
  1. 6
    39
      src/libespeak-ng/langopts.c

+ 6
- 39
src/libespeak-ng/langopts.c View File

@@ -34,8 +34,8 @@
#include "langopts.h"
#include "mnemonics.h" // for MNEM_TAB
#include "translate.h" // for Translator
#include "voice.h" // for CheckTranslator()
#include "synthdata.h" // for n_tunes, tunes
#include "voice.h" // for ReadNumbers, Read8Numbers

static int CheckTranslator(Translator *tr, const MNEM_TAB *keyword_tab, int key);
static int LookupTune(const char *name);
@@ -90,13 +90,16 @@ enum {
extern const MNEM_TAB langopts_tab[];

void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
if (CheckTranslator(translator, langopts_tab, key) != 0) {
return;
}

int ix;
int n;

switch (key) {
case V_DICTMIN: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;


if (sscanf(keyValue, "%d", &n) == 1)
translator->dict_min_size = n;
@@ -105,26 +108,17 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
}

case V_DICTRULES: { // conditional dictionary rules and list entries
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

ReadNumbers(keyValue, &translator->dict_condition, 32, langopts_tab, key);
break;
}
case V_INTONATION: {
sscanf(keyValue, "%d", &option_tone_flags);
if ((option_tone_flags & 0xff) != 0) {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

translator->langopts.intonation_group = option_tone_flags & 0xff;
}
break;
}
case V_NUMBERS: {
// if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

// expect a list of numbers
while (*keyValue != 0) {
while (isspace(*keyValue)) keyValue++;
@@ -145,16 +139,10 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
}
case V_LOWERCASE_SENTENCE: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

translator->langopts.lowercase_sentence = true;
break;
}
case V_STRESSADD: { // stressAdd
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

int stress_add_set = 0;
int stress_add[8];

@@ -167,8 +155,6 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
}
case V_STRESSAMP: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

int stress_amps_set = 0;
int stress_amps[8];
@@ -182,9 +168,6 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
}
case V_STRESSLENGTH: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

//printf("parsing: %s", keyValue);
int stress_lengths_set = 0;
int stress_lengths[8];
@@ -196,16 +179,10 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
}
case V_STRESSOPT: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

ReadNumbers(keyValue, &translator->langopts.stress_flags, 32, langopts_tab, key);
break;
}
case V_STRESSRULE: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

sscanf(keyValue, "%d %d %d", &translator->langopts.stress_rule,
&translator->langopts.unstressed_wd1,
&translator->langopts.unstressed_wd2);
@@ -213,9 +190,6 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
}
case V_TUNES: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

char names[8][40];
n = sscanf(keyValue, "%s %s %s %s %s %s", names[0], names[1], names[2], names[3], names[4], names[5]);
translator->langopts.intonation_group = 0;
@@ -232,10 +206,6 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
}
case V_WORDGAP: {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;


sscanf(keyValue, "%d %d", &translator->langopts.word_gap, &translator->langopts.vowel_pause);
break;
}
@@ -246,9 +216,6 @@ void LoadLanguageOptions(Translator *translator, int key, char *keyValue ) {
break;
default: {
if ((key & 0xff00) == 0x100) {
if (CheckTranslator(translator, langopts_tab, key) != 0)
break;

sscanf(keyValue, "%d", &translator->langopts.param[key &0xff]);
}
break;

Loading…
Cancel
Save