mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-26 06:10:56 +00:00
Clean up usage of va_copy.
AC_TYPE_VA_LIST is no longer necessary, and the code is easier to read.
This commit is contained in:
parent
2cbb7cb0c8
commit
735fcf68d5
5 changed files with 19 additions and 37 deletions
|
@ -7,8 +7,6 @@ AC_FUNC_MEMCMP
|
|||
AC_FUNC_MMAP
|
||||
AC_TYPE_SIGNAL
|
||||
AC_FUNC_VPRINTF
|
||||
AC_FUNC_VA_COPY
|
||||
AC_FUNC__VA_COPY
|
||||
AC_CHECK_FUNCS(
|
||||
access _access connect dlopen execvp fcntl ftime _ftime getaddrinfo \
|
||||
gethostbyname gethostname getnameinfo getpagesize gettimeofday getuid \
|
||||
|
@ -17,6 +15,17 @@ AC_CHECK_FUNCS(
|
|||
_vsnprintf wait
|
||||
)
|
||||
|
||||
AC_FUNC_VA_COPY
|
||||
AC_FUNC__VA_COPY
|
||||
AH_VERBATIM([DEFINE_VA_COPY],
|
||||
[#ifndef HAVE_VA_COPY
|
||||
# ifdef HAVE__VA_COPY
|
||||
# define va_copy(d,s) __va_copy ((d), (s))
|
||||
# else
|
||||
# define va_copy(d,s) memcpy (&(d), &(s), sizeof (va_list))
|
||||
# endif
|
||||
#endif])
|
||||
|
||||
DL_LIBS=""
|
||||
if test "x$ac_cv_func_dlopen" != "xyes"; then
|
||||
AC_CHECK_LIB(dl, dlopen,
|
||||
|
|
|
@ -88,8 +88,6 @@ AH_VERBATIM([HAVE___BUILTIN_EXPECT],
|
|||
# define __builtin_expect(x,c) x
|
||||
#endif])
|
||||
|
||||
AC_TYPE_VA_LIST
|
||||
|
||||
AC_MSG_CHECKING(for type of fpos_t)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <stdio.h>],
|
||||
|
|
|
@ -299,23 +299,13 @@ dstring_clearstr (dstring_t *dstr)
|
|||
dstr->str[0] = 0;
|
||||
}
|
||||
|
||||
#if defined (HAVE_VA_COPY)
|
||||
# define VA_COPY(a,b) va_copy (a, b)
|
||||
#elif defined (HAVE__VA_COPY)
|
||||
# define VA_COPY(a,b) __va_copy (a, b)
|
||||
#else
|
||||
# define VA_COPY(a,b) memcpy (a, b, sizeof (a))
|
||||
#endif
|
||||
|
||||
static int
|
||||
_dvsprintf (dstring_t *dstr, int offs, const char *fmt, va_list args)
|
||||
{
|
||||
int size;
|
||||
|
||||
#ifdef VA_LIST_IS_ARRAY
|
||||
va_list tmp_args;
|
||||
VA_COPY (tmp_args, args);
|
||||
#endif
|
||||
va_copy (tmp_args, args);
|
||||
|
||||
if (!dstr->truesize)
|
||||
dstring_clearstr (dstr); // Make it a string
|
||||
|
@ -324,17 +314,13 @@ _dvsprintf (dstring_t *dstr, int offs, const char *fmt, va_list args)
|
|||
args)) == -1) {
|
||||
dstr->size = (dstr->truesize & ~1023) + 1024;
|
||||
dstring_adjust (dstr);
|
||||
#ifdef VA_LIST_IS_ARRAY
|
||||
VA_COPY (args, tmp_args);
|
||||
#endif
|
||||
va_copy (args, tmp_args);
|
||||
}
|
||||
dstr->size = size + offs + 2;
|
||||
// "Proper" implementations return the required size
|
||||
if (dstr->size > dstr->truesize) {
|
||||
dstring_adjust (dstr);
|
||||
#ifdef VA_LIST_IS_ARRAY
|
||||
VA_COPY (args, tmp_args);
|
||||
#endif
|
||||
va_copy (args, tmp_args);
|
||||
vsnprintf (dstr->str + offs, dstr->truesize - offs - 1, fmt, args);
|
||||
}
|
||||
dstr->size = size + offs + 1;
|
||||
|
|
|
@ -493,21 +493,11 @@ Sys_Quit (void)
|
|||
exit (0);
|
||||
}
|
||||
|
||||
#if defined (HAVE_VA_COPY)
|
||||
# define VA_COPY(a,b) va_copy (a, b)
|
||||
#elif defined (HAVE__VA_COPY)
|
||||
# define VA_COPY(a,b) __va_copy (a, b)
|
||||
#else
|
||||
# define VA_COPY(a,b) memcpy (a, b, sizeof (a))
|
||||
#endif
|
||||
|
||||
VISIBLE void
|
||||
Sys_Error (const char *error, ...)
|
||||
{
|
||||
va_list args;
|
||||
#ifdef VA_LIST_IS_ARRAY
|
||||
va_list tmp_args;
|
||||
#endif
|
||||
static int in_sys_error = 0;
|
||||
|
||||
if (in_sys_error) {
|
||||
|
@ -521,9 +511,7 @@ Sys_Error (const char *error, ...)
|
|||
in_sys_error = 1;
|
||||
|
||||
va_start (args, error);
|
||||
#ifdef VA_LIST_IS_ARRAY
|
||||
VA_COPY (tmp_args, args);
|
||||
#endif
|
||||
va_copy (tmp_args, args);
|
||||
sys_err_printf_function (error, args);
|
||||
va_end (args);
|
||||
|
||||
|
@ -532,9 +520,7 @@ Sys_Error (const char *error, ...)
|
|||
if (sys_err_printf_function != Sys_ErrPrintf) {
|
||||
// print the message again using the default error printer to increase
|
||||
// the chances of the error being seen.
|
||||
#ifdef VA_LIST_IS_ARRAY
|
||||
VA_COPY (args, tmp_args);
|
||||
#endif
|
||||
va_copy (args, tmp_args);
|
||||
Sys_ErrPrintf (error, args);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,9 @@
|
|||
width * height bytes
|
||||
no attached palette
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE
|
||||
|
|
Loading…
Reference in a new issue