| 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); |