summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-03-17 17:14:27 +0100
committerBruno Haible <bruno@clisp.org>2023-03-17 22:59:43 +0100
commit5150553d37972c79a9df38489d4937f05fccdd1a (patch)
treebaff0cdae69940e859d4092e064f85197f2ed7a2
parent26d9ba33eb513b7599442dbb4c6ee2ed7bbebb61 (diff)
downloadgettext-5150553d37972c79a9df38489d4937f05fccdd1a.tar.gz
intl: Simplify use of vasnprintf from Gnulib.
* autogen.sh (GNULIB_MODULES_LIBINTL): Use vasnprintf-posix instead of vasnprintf. * gettext-runtime/intl/vasnprintf.h: Remove file, moved to gnulib. * gettext-runtime/intl/Makefile.am (EXTRA_DIST): Remove vasnprintf.h. (printf.lo): Simplify dependencies accordingly.
-rwxr-xr-xautogen.sh2
-rw-r--r--gettext-runtime/intl/Makefile.am3
-rw-r--r--gettext-runtime/intl/vasnprintf.h76
3 files changed, 2 insertions, 79 deletions
diff --git a/autogen.sh b/autogen.sh
index 6858e9799..842cb56fd 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -119,7 +119,7 @@ if ! $skip_gnulib; then
lock
relocatable-lib-lgpl
tsearch
- vasnprintf
+ vasnprintf-posix
vasnwprintf-posix
'
GNULIB_SETLOCALE_DEPENDENCIES=`$GNULIB_TOOL --extract-dependencies setlocale | sed -e 's/ .*//'`
diff --git a/gettext-runtime/intl/Makefile.am b/gettext-runtime/intl/Makefile.am
index 806d722f4..1eff31b45 100644
--- a/gettext-runtime/intl/Makefile.am
+++ b/gettext-runtime/intl/Makefile.am
@@ -71,7 +71,6 @@ EXTRA_DIST += \
loadinfo.h \
plural-exp.h \
eval-plural.h \
- vasnprintf.h \
intl-exports.c os2compat.h os2compat.c \
libgnuintl.in.h
@@ -364,7 +363,7 @@ plural.lo: ../config.h $(srcdir)/plural-exp.h $(PLURAL_DEPS)
plural-exp.lo: ../config.h $(srcdir)/plural-exp.h
langprefs.lo: ../config.h
log.lo: ../config.h
-printf.lo: ../config.h $(srcdir)/vasnprintf.h
+printf.lo: ../config.h
setlocale.lo: ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
version.lo: ../config.h libgnuintl.h
osdep.lo: ../config.h $(srcdir)/intl-exports.c $(srcdir)/os2compat.c
diff --git a/gettext-runtime/intl/vasnprintf.h b/gettext-runtime/intl/vasnprintf.h
deleted file mode 100644
index e58bd40cf..000000000
--- a/gettext-runtime/intl/vasnprintf.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* vsprintf with automatic memory allocation.
- Copyright (C) 2002-2004, 2012 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _VASNPRINTF_H
-#define _VASNPRINTF_H
-
-/* Get va_list. */
-#include <stdarg.h>
-
-/* Get size_t. */
-#include <stddef.h>
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of 'format' and 'printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-# define __format__ format
-# define __printf__ printf
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Write formatted output to a string dynamically allocated with malloc().
- You can pass a preallocated buffer for the result in RESULTBUF and its
- size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
- If successful, return the address of the string (this may be = RESULTBUF
- if no dynamic memory allocation was necessary) and set *LENGTHP to the
- number of resulting bytes, excluding the trailing NUL. Upon error, set
- errno and return NULL.
-
- When dynamic memory allocation occurs, the preallocated buffer is left
- alone (with possibly modified contents). This makes it possible to use
- a statically allocated or stack-allocated buffer, like this:
-
- char buf[100];
- size_t len = sizeof (buf);
- char *output = vasnprintf (buf, &len, format, args);
- if (output == NULL)
- ... error handling ...;
- else
- {
- ... use the output string ...;
- if (output != buf)
- free (output);
- }
- */
-extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 3, 0)));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _VASNPRINTF_H */