ENS_NOT_SUPPORTED = 0x10000AFF, | ENS_NOT_SUPPORTED = 0x10000AFF, | ||||
ENS_UNSUPPORTED_PHON_FORMAT = 0x10000BFF, | ENS_UNSUPPORTED_PHON_FORMAT = 0x10000BFF, | ||||
ENS_NO_SPECT_FRAMES = 0x10000CFF, | ENS_NO_SPECT_FRAMES = 0x10000CFF, | ||||
ENS_EMPTY_PHONEME_MANIFEST = 0x10000DFF, | |||||
} espeak_ng_STATUS; | } espeak_ng_STATUS; | ||||
typedef enum { | typedef enum { |
free(manifest[ix].name); | 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) { | if ((manifest = (NAMETAB *)realloc(manifest, n_lines * sizeof(NAMETAB))) == NULL) { | ||||
fclose(f); | fclose(f); | ||||
return ENOMEM; | return ENOMEM; |
case ENS_NO_SPECT_FRAMES: | case ENS_NO_SPECT_FRAMES: | ||||
strncpy0(buffer, "The spectral file does not contain any frame data", length); | strncpy0(buffer, "The spectral file does not contain any frame data", length); | ||||
break; | break; | ||||
case ENS_EMPTY_PHONEME_MANIFEST: | |||||
strncpy0(buffer, "The phoneme manifest file does not contain any phonemes", length); | |||||
break; | |||||
default: | default: | ||||
if ((status & ENS_GROUP_MASK) == ENS_GROUP_ERRNO) | if ((status & ENS_GROUP_MASK) == ENS_GROUP_ERRNO) | ||||
strerror_r(status, buffer, length); | strerror_r(status, buffer, length); |