aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-02 20:14:57 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-02 20:14:57 +0000
commitb25302b53e87af89310bd57e07924fd7dff208ce (patch)
treeac39a2f2f28db215b3ad251b42f9b1a981f006fd
parentb470d2950631d1928e1740fb164ac7780ac83b43 (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
-rwxr-xr-xmain/editline/configure120
-rw-r--r--main/editline/configure.in2
-rw-r--r--main/editline/np/unvis.c2
-rw-r--r--main/editline/sys.h10
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 */