Browse Source

compiledata: Display the actual error from phoneme_add_feature.

master
Reece H. Dunn 8 years ago
parent
commit
b4297c2851
2 changed files with 14 additions and 2 deletions
  1. 1
    0
      CHANGELOG.md
  2. 13
    2
      src/libespeak-ng/compiledata.c

+ 1
- 0
CHANGELOG.md View File

@@ -10,6 +10,7 @@ The espeak-ng project is a fork of the espeak project.
### 1.49.2 - (In Development)

* Support describing all IPA phonemes in the phoneme tables.
* Provide more validation when compiling phoneme tables.
* Removed support for phoneme equivalence tables. These were disabled in the
French and German language files.


+ 13
- 2
src/libespeak-ng/compiledata.c View File

@@ -584,6 +584,16 @@ static void error(const char *format, ...)
va_end(args);
}

static void error_from_status(espeak_ng_STATUS status, const char *context)
{
char message[512];
espeak_ng_GetStatusCodeMessage(status, message, sizeof(message));
if (context)
error("%s: '%s'.", message, context);
else
error("%s.", message);
}

static unsigned int StringToWord(const char *string)
{
// Pack 4 characters into a word
@@ -2012,9 +2022,10 @@ int CompilePhoneme(int compile_phoneme)
}

phoneme_feature_t feature = phoneme_feature_from_string(item_string);
if (phoneme_add_feature(phoneme_out, feature) == ENS_OK)
espeak_ng_STATUS status = phoneme_add_feature(phoneme_out, feature);
if (status == ENS_OK)
continue;
error("Bad keyword in phoneme definition '%s'", item_string);
error_from_status(status, item_string);
continue;
}


Loading…
Cancel
Save