mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 10:52:49 +00:00
kdecore: update bundled gettext header
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
parent
478ca250a2
commit
9dcca4fe37
1 changed files with 26 additions and 13 deletions
|
@ -1,25 +1,26 @@
|
||||||
/* Convenience header for conditional use of GNU <libintl.h>.
|
/* Convenience header for conditional use of GNU <libintl.h>.
|
||||||
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011, 2015 Free
|
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2020 Free Software
|
||||||
Software Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
(at your option) any later version.
|
any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License along
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#ifndef _LIBGETTEXT_H
|
#ifndef _LIBGETTEXT_H
|
||||||
#define _LIBGETTEXT_H 1
|
#define _LIBGETTEXT_H 1
|
||||||
|
|
||||||
/* NLS can be disabled through the configure --disable-nls option. */
|
/* NLS can be disabled through the configure --disable-nls option
|
||||||
#if ENABLE_NLS
|
or through "#define ENABLE NLS 0" before including this file. */
|
||||||
|
#if defined ENABLE_NLS && ENABLE_NLS
|
||||||
|
|
||||||
/* Get declarations of GNU message catalog functions. */
|
/* Get declarations of GNU message catalog functions. */
|
||||||
# include <libintl.h>
|
# include <libintl.h>
|
||||||
|
@ -183,8 +184,16 @@ npgettext_aux (const char *domain,
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
|
/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
|
||||||
/* || __STDC_VERSION__ >= 199901L */ )
|
This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
|
||||||
|
the default GCC many warnings set. This allows programs to disable use
|
||||||
|
of VLAs, which may be unintended, or may be awkward to support portably,
|
||||||
|
or may have security implications due to non-deterministic stack usage. */
|
||||||
|
|
||||||
|
#if (!defined GNULIB_NO_VLA \
|
||||||
|
&& (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
|
||||||
|
/* || (__STDC_VERSION__ == 199901L && !defined __HP_cc)
|
||||||
|
|| (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ ))
|
||||||
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
|
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
|
||||||
#else
|
#else
|
||||||
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
|
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
|
||||||
|
@ -225,15 +234,17 @@ dcpgettext_expr (const char *domain,
|
||||||
if (msg_ctxt_id != NULL)
|
if (msg_ctxt_id != NULL)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
int found_translation;
|
||||||
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
|
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
|
||||||
msg_ctxt_id[msgctxt_len - 1] = '\004';
|
msg_ctxt_id[msgctxt_len - 1] = '\004';
|
||||||
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
|
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
|
||||||
translation = dcgettext (domain, msg_ctxt_id, category);
|
translation = dcgettext (domain, msg_ctxt_id, category);
|
||||||
|
found_translation = (translation != msg_ctxt_id);
|
||||||
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
|
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
|
||||||
if (msg_ctxt_id != buf)
|
if (msg_ctxt_id != buf)
|
||||||
free (msg_ctxt_id);
|
free (msg_ctxt_id);
|
||||||
#endif
|
#endif
|
||||||
if (translation != msg_ctxt_id)
|
if (found_translation)
|
||||||
return translation;
|
return translation;
|
||||||
}
|
}
|
||||||
return msgid;
|
return msgid;
|
||||||
|
@ -271,15 +282,17 @@ dcnpgettext_expr (const char *domain,
|
||||||
if (msg_ctxt_id != NULL)
|
if (msg_ctxt_id != NULL)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
int found_translation;
|
||||||
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
|
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
|
||||||
msg_ctxt_id[msgctxt_len - 1] = '\004';
|
msg_ctxt_id[msgctxt_len - 1] = '\004';
|
||||||
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
|
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
|
||||||
translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
|
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 !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
|
||||||
if (msg_ctxt_id != buf)
|
if (msg_ctxt_id != buf)
|
||||||
free (msg_ctxt_id);
|
free (msg_ctxt_id);
|
||||||
#endif
|
#endif
|
||||||
if (!(translation == msg_ctxt_id || translation == msgid_plural))
|
if (found_translation)
|
||||||
return translation;
|
return translation;
|
||||||
}
|
}
|
||||||
return (n == 1 ? msgid : msgid_plural);
|
return (n == 1 ? msgid : msgid_plural);
|
||||||
|
|
Loading…
Add table
Reference in a new issue