@@ -50,6 +50,7 @@ typedef enum { | |||
ENS_NOT_SUPPORTED = 0x10000AFF, | |||
ENS_UNSUPPORTED_PHON_FORMAT = 0x10000BFF, | |||
ENS_NO_SPECT_FRAMES = 0x10000CFF, | |||
ENS_EMPTY_PHONEME_MANIFEST = 0x10000DFF, | |||
} espeak_ng_STATUS; | |||
typedef enum { |
@@ -409,6 +409,11 @@ static espeak_ng_STATUS ReadPhondataManifest(espeak_ng_ERROR_CONTEXT *context) | |||
free(manifest[ix].name); | |||
} | |||
if (n_lines == 0) { | |||
fclose(f); | |||
return ENS_EMPTY_PHONEME_MANIFEST; | |||
} | |||
if ((manifest = (NAMETAB *)realloc(manifest, n_lines * sizeof(NAMETAB))) == NULL) { | |||
fclose(f); | |||
return ENOMEM; |
@@ -116,6 +116,9 @@ ESPEAK_NG_API void espeak_ng_GetStatusCodeMessage(espeak_ng_STATUS status, char | |||
case ENS_NO_SPECT_FRAMES: | |||
strncpy0(buffer, "The spectral file does not contain any frame data", length); | |||
break; | |||
case ENS_EMPTY_PHONEME_MANIFEST: | |||
strncpy0(buffer, "The phoneme manifest file does not contain any phonemes", length); | |||
break; | |||
default: | |||
if ((status & ENS_GROUP_MASK) == ENS_GROUP_ERRNO) | |||
strerror_r(status, buffer, length); |