diff options
Diffstat (limited to 'tests/gettext.h')
| -rw-r--r-- | tests/gettext.h | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/tests/gettext.h b/tests/gettext.h index 599a14ec..9a232cc3 100644 --- a/tests/gettext.h +++ b/tests/gettext.h @@ -1,5 +1,5 @@  /* Convenience header for conditional use of GNU <libintl.h>. -   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2015 Free Software +   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 Free Software     Foundation, Inc.     This program is free software; you can redistribute it and/or modify @@ -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); | 
