Commit Graph
3616 Commits
Author SHA1 Message Date
Reece H. Dunn 119c200e00 Use strcpy instead of memcpy+strlen.
This replaces uses of:

	memcpy(dst, src, strlen(src))

with:

	strcpy(dst, src)

This fixes issues with reading past the end of the copied buffer
(e.g. when processing word-based replacements for emoji characters)
by ensuring that the destination buffer is null terminated.

Reported by Michael Curran <mick@nvaccess.org>
2017-10-01 08:50:56 +01:00
Juho Hiltunen ef067a11fb finnish: ui sounds better than wi in all tested cases (subjective opinion). I haven't heard of any rule saying ui should be pronounced like wi. 2017-09-30 11:07:21 +03:00
Juho Hiltunen ec99b6ba48 Finnish: Move ruoan from pronunciation exception to a rule to include usage in compound words and inflections.
In general, most finnish exceptions should be inside rules since compound words and inflections are very common in finnish
2017-09-30 10:51:40 +03:00
Juho Hiltunen d9d498832e Compound word with the first word ending in -rg should also follow the swedish pronunciation.
This affects words familynames like Berglund and Bergholm and place names like Bergbackan.
2017-09-30 10:32:51 +03:00
Juho Hiltunen 780631845d finnish: pronunciation exception for "ruoan". Should be pronounced exactly like "ruuan" 2017-09-30 10:26:20 +03:00
Juho Hiltunen 418aadc2ba Finnish: clarification for -rg
This rule "CA) rg (_" only matches the place and family names, and exempts words like "org", in which the g should be pronounced.
2017-09-26 21:29:04 +03:00
Juho Hiltunen 411eec2b55 Follow swedish pronunciation for words ending in -rg.
In finnish these are almost exclusively swedish place names (Uleåborg) or family names (Lindberg)
2017-09-26 20:44:42 +03:00
Juho Hiltunen 265bee5e23 Added some common finnish abbreviations and foreign words
Mostly these are related to computers and internet (usb, ict and facebook) but there's others as well.
2017-09-25 20:04:54 +03:00
Reece H. Dunn 3a2663030b Update the version to 1.49.3-dev. 2017-09-24 10:46:15 +01:00
Reece H. Dunn 3ed34d3a74 eSpeak NG 1.49.2 2017-09-24 10:10:00 +01:00
Reece H. Dunn 4b4da73558 mbrowrap: fix building on Windows. 2017-09-24 09:53:13 +01:00
Reece H. Dunn df7e9a23e1 Ensure that flags in the syllables are initialised.
Clang static analysis reports this as 'Assigned value is garbage
or undefined'.
2017-09-14 07:57:50 +01:00
Reece H. Dunn 57108e1ed7 Add n_points guards in the LoadEnvelope2 loop.
Clang static analysis reports these as 'Result of operation is
garbage or undefined' errors.
2017-09-13 07:28:58 +01:00
Reece H. Dunn 4a882e21d3 Don't update env_x/y if no points were read.
Clang static analysis reports an 'Assigned value is garbage or
undefined' for this. If no points were read from the file, the
`n_points` variable is 0 and `env_x[n_points-1]` performs an
out-of-bounds access.
2017-09-13 07:13:29 +01:00
Reece H. Dunn 19b2bebc02 Don't save an intonation if it was not found.
Clang static analysis reports an 'Assigned value is garbage or
undefined' error. This happens if the default_tune data has not
been copied in the kTUNE case.

Extending this further, it does not make sense to save the tune
data if the tune was not found, or if the tune already exists.
2017-09-13 07:03:18 +01:00
Reece H. Dunn a2f751044c Remove unused letter assignment in MatchRule.
This was identified by the clang static analyser. The letter
variable is set in the various match_type switch cases, so
does not need to be initialised in the start of the while loop.
2017-09-12 07:46:53 +01:00
Reece H. Dunn ecdff298b0 last_letter in MatchRule is not used.
This was identified by the clang static analyser.
2017-09-12 07:43:00 +01:00
Reece H. Dunn 8a777385a8 Use wflags to access wtab->flags in LookupDict2.
Clang static analysis reports a 'Dereference of null pointer'
error when accessing wtab->flags. This is properly guarded
against when setting the wflags variable, so use that variable
instead.
2017-09-12 07:36:54 +01:00
Reece H. Dunn e6ea8fabea Initialise ending in RemoveEnding.
Clang static analysis reports this as several 'Result of operation
is garbage or undefined' errors, when `ending` has not been set
due to no matching endings.
2017-09-12 07:29:07 +01:00
Reece H. Dunn 988db184ea Prevent invalid access to word in LookupDictList.
Clang static analysis reports this as several 'Result of operation
is garbage or undefined' errors.
2017-09-12 07:17:46 +01:00
Reece H. Dunn d19da58fa0 Fix running languages.test on sh/bash. 2017-09-01 07:19:41 +01:00
Reece H. Dunn d040d90d01 Merge remote-tracking branch 'twinshadow/test-sha1sum' 2017-09-01 07:15:37 +01:00
Anthony Cornehl 3115f769b1 tests/language.test: Use different hashing commands when needed
Outside of Linux platforms, sha1 hashing from the command-line is accomplished
by commands other than sha1sum. OSX uses shasum and FreeBSD uses sha1, so I've
added in detection for the appropriate command before falling back and failing
the test.
2017-08-31 17:46:04 -07:00
Anthony Cornehl 897fad64c1 Remove definitions for towlower/towupper
The definitions for towlower() and towupper() are defined in /usr/include/wctype.h on FreeBSD platforms. I just removed the define and used  the ucd_ equivilent where towlower/towupper were found.

/bin/sh ./libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I.    -fPIC -fvisibility=hidden -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"/usr/local/share/espeak-
ng-data\" -DLIBESPEAK_NG_EXPORT  -Isrc/include -Isrc/include/compat -I src/ucd-tools/src/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-endif-lab
els    -g -O2 -std=c99 -MT src/libespeak-ng/src_libespeak_ng_la-readclause.lo -MD -MP -MF src/libespeak-ng/.deps/src_libespeak_ng_la-readclause.Tpo -c -o src/libespeak-n
g/src_libespeak_ng_la-readclause.lo `test -f 'src/libespeak-ng/readclause.c' || echo './'`src/libespeak-ng/readclause.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -fPIC -fvisibility=hidden -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"/usr/local/share/espeak-ng-data\" -DLIBESPEAK_NG_EXPO
RT -Isrc/include -Isrc/include/compat -I src/ucd-tools/src/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-endif-labels -g -O2 -std=c99 -MT src/li
bespeak-ng/src_libespeak_ng_la-readclause.lo -MD -MP -MF src/libespeak-ng/.deps/src_libespeak_ng_la-readclause.Tpo -c src/libespeak-ng/readclause.c  -fPIC -DPIC -o src/l
ibespeak-ng/.libs/src_libespeak_ng_la-readclause.o
In file included from src/libespeak-ng/readclause.c:32:
In file included from src/include/compat/wctype.h:30:
/usr/include/wctype.h:73:8: error: conflicting types for 'ucd_tolower'
wint_t  towlower(wint_t);
        ^
src/include/compat/wchar.h:37:18: note: expanded from macro 'towlower'
                 ^
src/ucd-tools/src/include/ucd/ucd.h:503:13: note: previous declaration is here
codepoint_t ucd_tolower(codepoint_t c);
            ^
In file included from src/libespeak-ng/readclause.c:32:
In file included from src/include/compat/wctype.h:30:
/usr/include/wctype.h:74:8: error: conflicting types for 'ucd_toupper'
wint_t  towupper(wint_t);
        ^
src/include/compat/wchar.h:38:18: note: expanded from macro 'towupper'
                 ^
src/ucd-tools/src/include/ucd/ucd.h:491:13: note: previous declaration is here
codepoint_t ucd_toupper(codepoint_t c);
            ^
src/libespeak-ng/readclause.c:366:19: warning: implicit declaration of function 'mkstemp' is invalid in C99 [-Wimplicit-function-declaration]
                        if ((fd_temp = mkstemp(fname_temp)) >= 0)
                                       ^
1 warning and 2 errors generated.
2017-08-31 17:42:17 -07:00
Anthony Cornehl 06c87ae25b Detect FreeBSD
FreeBSD requires __BSD_VISIBLE to be set to expose M_PI and mkstemp() in the
system includes. This is normally set when _ANSI_SOURCE, _C99_SOURCE, or
_C11_SOURCE are undefined. I don't want to dig into what the compiler is
setting, so I'm just setting it in the configure script.

/bin/sh ./libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I.    -fPIC -fvisibility=hidden -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"/usr/local/share/espeak-ng-data\" -DLIBESPEAK_NG_EXPORT  -Isrc/include -Isrc/include/compat -I src/ucd-tools/src/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-endif-labels    -g -O2 -std=c99 -MT src/libespeak-ng/src_libespeak_ng_la-wavegen.lo -MD -MP -MF src/libespeak-ng/.deps/src_libespeak_ng_la-wavegen.Tpo -c -o src/libespeak-ng/src_libespeak_ng_la-wavegen.lo `test -f 'src/libespeak-ng/wavegen.c' || echo './'`src/libespeak-ng/wavegen.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -fPIC -fvisibility=hidden -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"/usr/local/share/espeak-ng-data\" -DLIBESPEAK_NG_EXPORT -Isrc/include -Isrc/include/compat -I src/ucd-tools/src/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-endif-labels -g -O2 -std=c99 -MT src/libespeak-ng/src_libespeak_ng_la-wavegen.lo -MD -MP -MF src/libespeak-ng/.deps/src_libespeak_ng_la-wavegen.Tpo -c src/libespeak-ng/wavegen.c  -fPIC -DPIC -o src/libespeak-ng/.libs/src_libespeak_ng_la-wavegen.o
src/libespeak-ng/wavegen.c:355:24: error: use of undeclared identifier 'M_PI'
                        x = 127*(1.0 - cos((M_PI*2)*ix/wavemult_max));
                                            ^
src/libespeak-ng/wavegen.c:623:16: error: use of undeclared identifier 'M_PI'
        minus_pi_t = -M_PI / samplerate;
                      ^
2 errors generated.
gmake[1]: *** [Makefile:1690: src/libespeak-ng/src_libespeak_ng_la-wavegen.lo] Error 1
2017-08-31 17:42:17 -07:00
Reece H. Dunn 830bed1cb1 Android: Fix the remaining tests. 2017-08-30 07:53:59 +01:00
Reece H. Dunn 44f33468c4 Android: Fix mapping voices who's IDs have been updated to be BCP47 compliant. 2017-08-22 18:30:30 +01:00
Reece H. Dunn 5027f5310e Android: Update the VoiceData gender field -- the default is always male now to reflect the default voice settings. 2017-08-21 21:17:03 +01:00
Reece H. Dunn 98a34ebaf5 Android: Update the VoiceData identifier fields. 2017-08-21 21:05:49 +01:00
Reece H. Dunn b357f47394 Android: add the language files to espeakdata.zip from their new location. 2017-08-21 07:03:36 +01:00
Reece H. Dunn 17620ed607 Android: Update APP_PLATFORM to android-14. 2017-08-20 22:48:21 +01:00
Reece H. Dunn c8f83c6b1f Add ucd/ucd.h to readclause.c, to fix building on Android. 2017-08-20 22:47:56 +01:00
Reece H. Dunn dc2b2a43b8 Android: Update the compile/targetSdkVersion to 26. 2017-08-20 22:34:05 +01:00
Reece H. Dunn 4f360435d8 Android: Update the android gradle build tools to 25.0.3. 2017-08-20 22:33:03 +01:00
Reece H. Dunn d578e9ebd7 Android: Update gradle to 2.3.3. 2017-08-20 22:31:56 +01:00
Valdis Vitolins 25475dd407 Latvian language improvements 2017-08-20 23:12:02 +03:00
Reece H. Dunn 8585b0b47d Fix the return status code from Synthesize when the voices cannot be found. 2017-08-19 12:27:39 +01:00
Reece H. Dunn 882c2651e1 Fix setting the default voice from espeak_SetVoiceByProperties. 2017-08-19 12:08:39 +01:00
Reece H. Dunn 16bea7fd0f Don't crash in LoadVoice if langopts is NULL. 2017-08-19 11:44:13 +01:00
Reece H. Dunn 4d4a8419f8 Test espeak_SetVoiceByName with an invalid voice name. 2017-08-19 10:19:00 +01:00
Reece H. Dunn aee367c334 Add espeak_SetVoiceByProperties tests with the languages property. 2017-08-19 10:11:32 +01:00
Reece H. Dunn c0308e3140 tests/api: test that the translator's dictionary is correct. 2017-08-19 09:05:27 +01:00
Reece H. Dunn 7fc1e30316 Add tests for espeak_SetVoiceByName. 2017-08-19 08:59:50 +01:00
Reece H. Dunn 8d07d2eacd ta: (emoji) -- CLDR 31.0.1 emoji translations 2017-08-16 19:23:07 +01:00
Reece H. Dunn bc7d806505 ne: (emoji) -- CLDR 31.0.1 emoji translations 2017-08-16 19:19:55 +01:00
Reece H. Dunn 3bc6da0d07 my: (emoji) -- CLDR 31.0.1 emoji translations 2017-08-16 19:18:14 +01:00
Reece H. Dunn 2642ba8ed5 ml: (emoji) -- CLDR 31.0.1 emoji translations 2017-08-16 19:15:42 +01:00
Reece H. Dunn 0bb4501253 Revert "pa: remove the emoji support for now, as it fails to build"
This reverts commit 593949dec6.
2017-08-16 19:08:51 +01:00
Reece H. Dunn cec0e773a4 Remove the tokenizer code. This is not currently used, and should be designed from espeak's behaviour. 2017-08-16 19:04:26 +01:00
Reece H. Dunn 9ac9831129 af: Updates from Christo de Klerk. 2017-08-05 14:36:28 +01:00