~ubuntu-branches/ubuntu/lucid/patch/lucid

« back to all changes in this revision

Viewing changes to gl/m4/strndup.m4

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Berg
  • Date: 2009-12-02 10:25:26 UTC
  • mfrom: (5.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20091202102526-5luk0zsqhghu58l2
Tags: 2.6-2
* Update watch file.
* Section: vcs.
* Suggests: diffutils-doc instead of diff-doc, thanks Christoph Anton
  Mitterer for spotting. Closes: #558974.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# strndup.m4 serial 16
 
2
dnl Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
 
3
dnl This file is free software; the Free Software Foundation
 
4
dnl gives unlimited permission to copy and/or distribute it,
 
5
dnl with or without modifications, as long as this notice is preserved.
 
6
 
 
7
AC_DEFUN([gl_FUNC_STRNDUP],
 
8
[
 
9
  dnl Persuade glibc <string.h> to declare strndup().
 
10
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
11
 
 
12
  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
 
13
  AC_CHECK_DECLS_ONCE([strndup])
 
14
  if test $ac_cv_have_decl_strndup = no; then
 
15
    HAVE_DECL_STRNDUP=0
 
16
  fi
 
17
 
 
18
  # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'.
 
19
  AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup],
 
20
    [AC_RUN_IFELSE([
 
21
       AC_LANG_PROGRAM([[#include <string.h>
 
22
                         #include <stdlib.h>]], [[
 
23
#ifndef HAVE_DECL_STRNDUP
 
24
  extern char *strndup (const char *, size_t);
 
25
#endif
 
26
  char *s;
 
27
  s = strndup ("some longer string", 15);
 
28
  free (s);
 
29
  s = strndup ("shorter string", 13);
 
30
  return s[13] != '\0';]])],
 
31
       [gl_cv_func_strndup=yes],
 
32
       [gl_cv_func_strndup=no],
 
33
       [AC_CHECK_FUNC([strndup],
 
34
          [AC_EGREP_CPP([too risky], [
 
35
#ifdef _AIX
 
36
               too risky
 
37
#endif
 
38
             ],
 
39
             [gl_cv_func_strndup=no],
 
40
             [gl_cv_func_strndup=yes])],
 
41
          [gl_cv_func_strndup=no])])])
 
42
  if test $gl_cv_func_strndup = yes; then
 
43
    AC_DEFINE([HAVE_STRNDUP], [1],
 
44
      [Define if you have the strndup() function and it works.])
 
45
  else
 
46
    HAVE_STRNDUP=0
 
47
    AC_LIBOBJ([strndup])
 
48
    gl_PREREQ_STRNDUP
 
49
  fi
 
50
])
 
51
 
 
52
# Prerequisites of lib/strndup.c.
 
53
AC_DEFUN([gl_PREREQ_STRNDUP], [:])