bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

strdup: Improve idiom


From: Bruno Haible
Subject: strdup: Improve idiom
Date: Mon, 5 Apr 2010 11:50:53 +0100
User-agent: KMail/1.9.9

This improves the idiom used in strdup.m4. It should have no effect on any
platform, since all platforms which lack strdup are UNIX platforms, i.e. have
a POSIX compliant malloc.


2010-04-05  Bruno Haible  <address@hidden>

        strdup: Improve idiom.
        * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
        AC_LIBOBJ is used.
        (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
        compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
        when AC_LIBOBJ is used.

*** m4/strdup.m4.orig   Mon Apr  5 12:45:19 2010
--- m4/strdup.m4        Mon Apr  5 12:33:15 2010
***************
*** 1,4 ****
! # strdup.m4 serial 11
  
  dnl Copyright (C) 2002-2010 Free Software Foundation, Inc.
  
--- 1,4 ----
! # strdup.m4 serial 12
  
  dnl Copyright (C) 2002-2010 Free Software Foundation, Inc.
  
***************
*** 9,37 ****
  AC_DEFUN([gl_FUNC_STRDUP],
  [
    AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
!   AC_REPLACE_FUNCS([strdup])
    AC_CHECK_DECLS_ONCE([strdup])
    if test $ac_cv_have_decl_strdup = no; then
      HAVE_DECL_STRDUP=0
    fi
-   gl_PREREQ_STRDUP
  ])
  
  AC_DEFUN([gl_FUNC_STRDUP_POSIX],
  [
    AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
    AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
!   if test $gl_cv_func_malloc_posix != yes; then
!     REPLACE_STRDUP=1
!     AC_LIBOBJ([strdup])
    else
!     AC_REPLACE_FUNCS([strdup])
    fi
    AC_CHECK_DECLS_ONCE([strdup])
    if test $ac_cv_have_decl_strdup = no; then
      HAVE_DECL_STRDUP=0
    fi
-   gl_PREREQ_STRDUP
  ])
  
  # Prerequisites of lib/strdup.c.
--- 9,44 ----
  AC_DEFUN([gl_FUNC_STRDUP],
  [
    AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
!   AC_CHECK_FUNCS_ONCE([strdup])
!   if test $ac_cv_func_strdup != yes; then
!     AC_LIBOBJ([strdup])
!     gl_PREREQ_STRDUP
!   fi
    AC_CHECK_DECLS_ONCE([strdup])
    if test $ac_cv_have_decl_strdup = no; then
      HAVE_DECL_STRDUP=0
    fi
  ])
  
  AC_DEFUN([gl_FUNC_STRDUP_POSIX],
  [
    AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
    AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
!   AC_CHECK_FUNCS_ONCE([strdup])
!   if test $ac_cv_func_strdup = yes; then
!     if test $gl_cv_func_malloc_posix != yes; then
!       REPLACE_STRDUP=1
!       AC_LIBOBJ([strdup])
!       gl_PREREQ_STRDUP
!     fi
    else
!     AC_LIBOBJ([strdup])
!     gl_PREREQ_STRDUP
    fi
    AC_CHECK_DECLS_ONCE([strdup])
    if test $ac_cv_have_decl_strdup = no; then
      HAVE_DECL_STRDUP=0
    fi
  ])
  
  # Prerequisites of lib/strdup.c.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]