#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
-#include "lib-asprintf.h"
/* std::swap() is in <utility> since C++11. */
#if __cplusplus >= 201103L
# include <algorithm>
#endif
+/* This include must come last, since it contains overrides of functions that
+ the system may provide (namely, vasprintf). */
+#include "lib-asprintf.h"
+
namespace gnu
{
/* Library functions for class autosprintf.
- Copyright (C) 2002-2003, 2006, 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2018 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
#include "vasnprintf.c"
#include "asnprintf.c"
+/* Define to the same symbols as in lib-asprintf.h. */
+#define asprintf libasprintf_asprintf
+#define vasprintf libasprintf_vasprintf
+
/* Define functions declared in "vasprintf.h". */
#include "vasprintf.c"
#include "asprintf.c"
+/* Define the same functions also without the 'libasprintf_' prefix,
+ for binary backward-compatibility. */
+#undef asprintf
+#undef vasprintf
+#include "vasprintf.c"
+#include "asprintf.c"
+
#endif
/* Library functions for class autosprintf.
- Copyright (C) 2002-2003, 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2018 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
#else
+/* Define to symbols that are guaranteed to not be defined by the system
+ header files. */
+#define asprintf libasprintf_asprintf
+#define vasprintf libasprintf_vasprintf
+
/* Get asprintf(), vasprintf() declarations. */
#include "vasprintf.h"