diff options
author | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-02 20:14:57 +0000 |
---|---|---|
committer | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-02 20:14:57 +0000 |
commit | b25302b53e87af89310bd57e07924fd7dff208ce (patch) | |
tree | ac39a2f2f28db215b3ad251b42f9b1a981f006fd /main | |
parent | b470d2950631d1928e1740fb164ac7780ac83b43 (diff) |
Remove several silly warnings in editline. One about a broken preprocessor directive, and another about strlcpy/strlcat.
(closes issue #14264)
Reported by: dimas
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@179395 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rwxr-xr-x | main/editline/configure | 120 | ||||
-rw-r--r-- | main/editline/configure.in | 2 | ||||
-rw-r--r-- | main/editline/np/unvis.c | 2 | ||||
-rw-r--r-- | main/editline/sys.h | 10 |
4 files changed, 129 insertions, 5 deletions
diff --git a/main/editline/configure b/main/editline/configure index d570bf679..442d54d38 100755 --- a/main/editline/configure +++ b/main/editline/configure @@ -1852,9 +1852,121 @@ CCSRCS="$CCSRCS np/unvis.c" fi done +for ac_func in strlcpy +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:1859: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1864 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:1887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +CCSRCS="$CCSRCS np/strlcpy.c" +fi +done + +for ac_func in strlcat +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:1915: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1920 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:1943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +CCSRCS="$CCSRCS np/strlcat.c" +fi +done + cat > conftest.$ac_ext <<EOF -#line 1858 "configure" +#line 1970 "configure" #include "confdefs.h" #include <sys/cdefs.h> #ifdef __RCSID @@ -1873,7 +1985,7 @@ rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 1877 "configure" +#line 1989 "configure" #include "confdefs.h" #include <sys/cdefs.h> #ifdef __COPYRIGHT @@ -1892,7 +2004,7 @@ rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 1896 "configure" +#line 2008 "configure" #include "confdefs.h" #include <sys/cdefs.h> #ifdef __RENAME @@ -1911,7 +2023,7 @@ rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 1915 "configure" +#line 2027 "configure" #include "confdefs.h" #include <sys/cdefs.h> #ifdef _DIAGASSERT diff --git a/main/editline/configure.in b/main/editline/configure.in index c1f87b842..7254cee14 100644 --- a/main/editline/configure.in +++ b/main/editline/configure.in @@ -101,6 +101,8 @@ AC_CHECK_FUNCS(strlcpy, , CCSRCS="$CCSRCS np/strlcpy.c") AC_CHECK_FUNCS(fgetln, , CCSRCS="$CCSRCS np/fgetln.c") AC_CHECK_FUNCS(strvis, , CCSRCS="$CCSRCS np/vis.c") AC_CHECK_FUNCS(strunvis, , CCSRCS="$CCSRCS np/unvis.c") +AC_CHECK_FUNCS(strlcpy, , CCSRCS="$CCSRCS np/strlcpy.c") +AC_CHECK_FUNCS(strlcat, , CCSRCS="$CCSRCS np/strlcat.c") AC_EGREP_CPP(yes, [#include <sys/cdefs.h> diff --git a/main/editline/np/unvis.c b/main/editline/np/unvis.c index f43c4c749..844a5581b 100644 --- a/main/editline/np/unvis.c +++ b/main/editline/np/unvis.c @@ -61,7 +61,7 @@ __warn_references(unvis, "warning: reference to compatibility unvis(); include <vis.h> for correct reference") #endif -#if !HAVE_VIS_H +#ifndef HAVE_VIS_H /* * decode driven by state machine */ diff --git a/main/editline/sys.h b/main/editline/sys.h index a306d1df7..8f3f3bd06 100644 --- a/main/editline/sys.h +++ b/main/editline/sys.h @@ -84,6 +84,16 @@ size_t strlcpy(char *dst, const char *src, size_t size); char *fgetln(FILE *fp, size_t *len); #endif +#ifndef HAVE_STRLCPY +#define strlcpy libedit_strlcpy +size_t strlcpy(char *dst, const char *src, size_t siz); +#endif + +#ifndef HAVE_STRLCAT +#define strlcat libedit_strlcat +size_t strlcat(char *dst, const char *src, size_t siz); +#endif + #define REGEX /* Use POSIX.2 regular expression functions */ #undef REGEXP /* Use UNIX V8 regular expression functions */ |