diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-05-13 07:51:45 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-05-13 07:52:14 -0700 |
commit | f791efc057429c6370f02ab34e715ea2872f6cfa (patch) | |
tree | ffb2191d37848e31e663b9b48f3fa2ddec370090 /lib | |
parent | 1adfb5ee55d16cd3d9d78998ae7bbb8e5708d9c5 (diff) |
Sync from gnulib
This incorporates a spelling fix, plus:
2016-05-09 Fix undefined behaviour in gettext.h
* lib/gettext.h, lib/mktime.c:
Copy from gnulib.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gettext.h | 8 | ||||
-rw-r--r-- | lib/mktime.c | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/gettext.h b/lib/gettext.h index 00af87265b..9a232cc3a8 100644 --- a/lib/gettext.h +++ b/lib/gettext.h @@ -225,15 +225,17 @@ dcpgettext_expr (const char *domain, if (msg_ctxt_id != NULL) #endif { + int found_translation; memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcgettext (domain, msg_ctxt_id, category); + found_translation = (translation != msg_ctxt_id); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif - if (translation != msg_ctxt_id) + if (found_translation) return translation; } return msgid; @@ -271,15 +273,17 @@ dcnpgettext_expr (const char *domain, if (msg_ctxt_id != NULL) #endif { + int found_translation; memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + found_translation = !(translation == msg_ctxt_id || translation == msgid_plural); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif - if (!(translation == msg_ctxt_id || translation == msgid_plural)) + if (found_translation) return translation; } return (n == 1 ? msgid : msgid_plural); diff --git a/lib/mktime.c b/lib/mktime.c index 419a177c01..40bc2a38a2 100644 --- a/lib/mktime.c +++ b/lib/mktime.c @@ -228,7 +228,7 @@ guess_time_tm (long_int year, long_int yday, int hour, int min, int sec, } /* Use CONVERT to convert T to a struct tm value in *TM. T must be in - range for time_t. Return TM if successfull, NULL if T is out of + range for time_t. Return TM if successful, NULL if T is out of range for CONVERT. */ static struct tm * convert_time (struct tm *(*convert) (const time_t *, struct tm *), |