Moved potential inclusion of system's malloc.h and memory.h header files to

setup_once.h.  Inclusion of each header file is based on the definition of
NEED_MALLOC_H and NEED_MEMORY_H respectively.
This commit is contained in:
Yang Tse 2009-04-21 10:26:58 +00:00
Родитель fe8eeb5641
Коммит 9770899a4b
23 изменённых файлов: 143 добавлений и 48 удалений

Просмотреть файл

@ -6,6 +6,11 @@
Changelog
Yang Tse (21 Apr 2009)
- Moved potential inclusion of system's malloc.h and memory.h header files to
setup_once.h. Inclusion of each header file is based on the definition of
NEED_MALLOC_H and NEED_MEMORY_H respectively.
Daniel Stenberg (20 Apr 2009)
- Leanic Lefever reported a crash and did some detailed research on why and
how it occurs (http://curl.haxx.se/mail/lib-2009-04/0289.html). The

Просмотреть файл

@ -893,6 +893,58 @@ AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [
])
dnl CURL_CHECK_HEADER_MEMORY
dnl -------------------------------------------------
dnl Check for compilable and valid memory.h header,
dnl and check if it is needed even with stdlib.h for
dnl memory related functions.
AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [
AC_CACHE_CHECK([for memory.h], [ac_cv_header_memory_h], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#include <memory.h>
]],[[
void *p = malloc(10);
void *q = calloc(10,10);
free(p);
free(q);
]])
],[
ac_cv_header_memory_h="yes"
],[
ac_cv_header_memory_h="no"
])
])
if test "$ac_cv_header_memory_h" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_MEMORY_H, 1,
[Define to 1 if you have the memory.h header file.])
#
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#include <stdlib.h>
]],[[
void *p = malloc(10);
void *q = calloc(10,10);
free(p);
free(q);
]])
],[
curl_cv_need_header_memory_h="no"
],[
curl_cv_need_header_memory_h="yes"
])
#
case "$curl_cv_need_header_memory_h" in
yes)
AC_DEFINE_UNQUOTED(NEED_MEMORY_H, 1,
[Define to 1 if you need the memory.h header file even with stdlib.h])
;;
esac
fi
])
dnl CURL_CHECK_TYPE_SOCKLEN_T
dnl -------------------------------------------------
dnl Check for existing socklen_t type, and provide

Просмотреть файл

@ -1,5 +1,10 @@
Changelog for the c-ares project
* April 21 2009 (Yang Tse)
- Moved potential inclusion of system's malloc.h and memory.h header files to
setup_once.h. Inclusion of each header file is based on the definition of
NEED_MALLOC_H and NEED_MEMORY_H respectively.
* March 11 2009 (Yang Tse)
- Japheth Cleaver fixed acountry.c replacing u_long with unsigned long.

Просмотреть файл

@ -360,6 +360,58 @@ AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [
])
dnl CURL_CHECK_HEADER_MEMORY
dnl -------------------------------------------------
dnl Check for compilable and valid memory.h header,
dnl and check if it is needed even with stdlib.h for
dnl memory related functions.
AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [
AC_CACHE_CHECK([for memory.h], [ac_cv_header_memory_h], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#include <memory.h>
]],[[
void *p = malloc(10);
void *q = calloc(10,10);
free(p);
free(q);
]])
],[
ac_cv_header_memory_h="yes"
],[
ac_cv_header_memory_h="no"
])
])
if test "$ac_cv_header_memory_h" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_MEMORY_H, 1,
[Define to 1 if you have the memory.h header file.])
#
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#include <stdlib.h>
]],[[
void *p = malloc(10);
void *q = calloc(10,10);
free(p);
free(q);
]])
],[
curl_cv_need_header_memory_h="no"
],[
curl_cv_need_header_memory_h="yes"
])
#
case "$curl_cv_need_header_memory_h" in
yes)
AC_DEFINE_UNQUOTED(NEED_MEMORY_H, 1,
[Define to 1 if you need the memory.h header file even with stdlib.h])
;;
esac
fi
])
dnl CURL_CHECK_TYPE_SOCKLEN_T
dnl -------------------------------------------------
dnl Check for existing socklen_t type, and provide

Просмотреть файл

@ -1,7 +1,7 @@
/* $Id$ */
/* Copyright 1998 by the Massachusetts Institute of Technology.
* Copyright (C) 2007-2008 by Daniel Stenberg
* Copyright (C) 2007-2009 by Daniel Stenberg
*
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
@ -20,7 +20,6 @@
#if defined(WIN32) && !defined(WATT32)
#include <iphlpapi.h>
#include <malloc.h>
#endif
#ifdef HAVE_SYS_PARAM_H

Просмотреть файл

@ -430,6 +430,7 @@ dnl Checks for header files.
AC_HEADER_STDC
CURL_CHECK_HEADER_MALLOC
CURL_CHECK_HEADER_MEMORY
dnl check for a few basic system headers we need
AC_CHECK_HEADERS(

Просмотреть файл

@ -42,6 +42,14 @@
#include <sys/types.h>
#endif
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef NEED_MEMORY_H
#include <memory.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif

Просмотреть файл

@ -1869,6 +1869,7 @@ dnl Checks for header files.
AC_HEADER_STDC
CURL_CHECK_HEADER_MALLOC
CURL_CHECK_HEADER_MEMORY
dnl Now check for the very most basic headers. Then we can use these
dnl ones as default-headers when checking for the rest!

Просмотреть файл

@ -25,9 +25,6 @@
#include <curl/curl.h>
#ifdef NEED_MALLOC_H
# include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif

Просмотреть файл

@ -28,9 +28,6 @@
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -25,9 +25,6 @@
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -25,9 +25,6 @@
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -26,9 +26,6 @@
#include <string.h>
#include <errno.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -25,9 +25,6 @@
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -25,9 +25,6 @@
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -26,9 +26,6 @@
#include <string.h>
#include <errno.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

Просмотреть файл

@ -30,9 +30,6 @@
#include <stdarg.h>
#include <stdlib.h>
#include <ctype.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#include <errno.h>
#ifdef CURL_LDAP_HYBRID /* If W$ definitions are needed. */

Просмотреть файл

@ -8,7 +8,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -41,9 +41,6 @@
#include <sys/socket.h>
#endif
#include <stdio.h>
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif
#define logfile curl_debuglogfile

Просмотреть файл

@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -49,6 +49,14 @@
#include <sys/types.h>
#endif
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef NEED_MEMORY_H
#include <memory.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif

Просмотреть файл

@ -26,9 +26,6 @@
#if !defined(CURL_DISABLE_PROXY) || defined(USE_WINDOWS_SSPI)
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif

Просмотреть файл

@ -34,9 +34,6 @@
#endif
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif

Просмотреть файл

@ -28,9 +28,6 @@
#include <string.h>
#ifdef NEED_MALLOC_H
#include <malloc.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif

Просмотреть файл

@ -256,6 +256,9 @@
/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you need the memory.h header file even with stdlib.h */
#define NEED_MEMORY_H 1
/* Define if you have the `sigsetjmp' function. */
#define HAVE_SIGSETJMP 1