With -Wformat-overflow gcc warns about calls to formatted input/output
function "sprintf" that might overflow the destination buffer.
In this case gcc does not know the upper bound of tm_min and assumes
that up to 11 bytes might be written to buffer (3 bytes). But we know
that tm_min can only be within the range 0 to 59.
mod_say_ja.c: In function 'ja_say_time':
mod_say_ja.c:376:35: error: '%d' directive writing between 2 and 10 bytes into a region of size 3 [-Werror=format-overflow=]
sprintf(buffer, "%d", tm.tm_min);
^~
mod_say_ja.c:376:34: note: directive argument in the range [11, 2147483647]
sprintf(buffer, "%d", tm.tm_min);
^~~~
mod_say_ja.c:376:18: note: 'sprintf' output between 3 and 11 bytes into a destination of size 3
sprintf(buffer, "%d", tm.tm_min);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This commits adds a hint for gcc, which silences the warning.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
German voice-mail is broken since mod_say_de.c is missing function SST_SHORT_DATE_TIME.
Insert function SST_SHORT_DATE_TIME into mod_say_de.c (refering and equal to mod_say_en.c) and tweaks some german language issues.
This change fixes various Dutch localisation issues.
Euro is used instead of Dollar
Some date/time digits are played different to be compatible with the Dutch language.
The new C compiler breaks a lot of things. snprintf and timespec now exist, and redefining causes an error.
Many more things are warnings, so warnings-as-errors will fail - remove it from some projects for now.
V8: don't pass VS version to build batch file.
mod_sofia: Config has too-long if/elseif chain. Break this up to avoid "parser stack overflow; program too complex".
Add mod_conference.h to project and dir to includes.
1. Switch from mm-dd-yyyy to dd-mm-yyyy
2. Insert "de" (Spanish for "of") preposition.
3. Document this new voice recording "of.wav".
As reported in FS-7279.
This is nothing more than a shameless copy/paste from another mod_say
module, which already had timezone support. It simply checks if the
timezone variable is set and if it contains a valid timezone, then this
timezone will be used when announcing times/dates.
FS-7048 #resolve