diff options
author | Aaron Crane <arc@cpan.org> | 2017-10-14 16:26:48 +0200 |
---|---|---|
committer | Aaron Crane <arc@cpan.org> | 2017-10-21 16:59:24 +0100 |
commit | d54fbe846a9f98aaae47d79e46490ecda6819fe0 (patch) | |
tree | 50061fc453d0d8c250cf67c475c377db7fc36b3c | |
parent | 81f9da18781fda785bd4c55602364ac5ce848a10 (diff) | |
download | perl-d54fbe846a9f98aaae47d79e46490ecda6819fe0.tar.gz |
Rely on C89 <string.h>
This requires a corresponding change in the metaconfig units.
-rwxr-xr-x | Configure | 100 | ||||
-rw-r--r-- | Cross/config.sh-arm-linux | 1 | ||||
-rw-r--r-- | Cross/config.sh-arm-linux-n770 | 1 | ||||
-rw-r--r-- | NetWare/config.wc | 1 | ||||
-rw-r--r-- | NetWare/config_H.wc | 6 | ||||
-rw-r--r-- | Porting/Glossary | 8 | ||||
-rw-r--r-- | Porting/config.sh | 1 | ||||
-rw-r--r-- | Porting/config_H | 6 | ||||
-rwxr-xr-x | config_h.SH | 6 | ||||
-rw-r--r-- | configure.com | 1 | ||||
-rw-r--r-- | ext/SDBM_File/sdbm.c | 8 | ||||
-rw-r--r-- | ext/SDBM_File/sdbm.h | 8 | ||||
-rw-r--r-- | perl.h | 6 | ||||
-rw-r--r-- | plan9/config.plan9 | 6 | ||||
-rw-r--r-- | plan9/config_h.sample | 6 | ||||
-rw-r--r-- | plan9/config_sh.sample | 1 | ||||
-rw-r--r-- | symbian/config.sh | 1 | ||||
-rw-r--r-- | uconfig.h | 10 | ||||
-rw-r--r-- | uconfig.sh | 1 | ||||
-rw-r--r-- | uconfig64.sh | 1 | ||||
-rw-r--r-- | win32/config.ce | 1 | ||||
-rw-r--r-- | win32/config.gc | 1 | ||||
-rw-r--r-- | win32/config.vc | 1 | ||||
-rw-r--r-- | win32/config_H.ce | 6 | ||||
-rw-r--r-- | win32/config_H.gc | 6 | ||||
-rw-r--r-- | win32/config_H.vc | 6 |
26 files changed, 29 insertions, 171 deletions
@@ -1022,8 +1022,6 @@ i_socks='' i_stdbool='' i_stdint='' i_stdlib='' -i_string='' -strings='' i_sunmath='' i_sysaccess='' i_sysdir='' @@ -10047,46 +10045,6 @@ esac prefixvar=vendorscript . ./installprefix -: script used to emit important warnings -cat >warn <<EOS -$startsh -if test \$# -gt 0; then - echo "\$@" >msg -else - cat >msg -fi -echo "*** WARNING:" >&4 -sed -e 's/^/*** /' <msg >&4 -echo "*** " >&4 -cat msg >>config.msg -echo " " >>config.msg -rm -f msg -EOS -chmod +x warn -$eunicefix warn - -: see which of string.h or strings.h is needed -echo " " -strings=`./findhdr string.h` -if $test "$strings" && $test -r "$strings"; then - echo "Using <string.h> instead of <strings.h>." >&4 - val="$define" -else - val="$undef" - strings=`./findhdr strings.h` - if $test "$strings" && $test -r "$strings"; then - echo "Using <strings.h> instead of <string.h>." >&4 - else - ./warn "No string header found -- You'll surely have problems." - fi -fi -set i_string -eval $setvar -case "$i_string" in -"$undef") strings=`./findhdr strings.h`;; -*) strings=`./findhdr string.h`;; -esac - : see if qgcvt exists set qgcvt d_qgcvt eval $inlibc @@ -10443,12 +10401,7 @@ char *myname = "sprintf"; #ifdef I_STDLIB #include <stdlib.h> #endif -#$i_string I_STRING -#ifdef I_STRING -# include <string.h> -#else -# include <strings.h> -#endif +#include <string.h> int checkit(char *expect, char *got) { @@ -13298,12 +13251,7 @@ extern int errno; #ifdef I_UNISTD #include <unistd.h> #endif -#$i_string I_STRING -#ifdef I_STRING #include <string.h> -#else -#include <strings.h> -#endif $signal_t blech(int x) { exit(3); } EOCP $cat >> try.c <<'EOCP' @@ -16075,7 +16023,6 @@ REENTRANT_PROTO*) #$i_unistd I_UNISTD #$i_time I_TIME #$i_stdlib I_STDLIB -#$i_string I_STRING #$i_malloc I_MALLOC #ifdef I_SYS_TYPES # include <sys/types.h> @@ -16089,11 +16036,7 @@ REENTRANT_PROTO*) #ifdef I_STDLIB #include <stdlib.h> #endif -#ifdef I_STRING -# include <string.h> -#else -# include <strings.h> -#endif +#include <string.h> #ifdef I_MALLOC # include <malloc.h> #endif @@ -16784,12 +16727,7 @@ $cat <<EOP >try.c #ifdef I_STDLIB #include <stdlib.h> #endif -#$i_string I_STRING -#ifdef I_STRING -# include <string.h> -#else -# include <strings.h> -#endif +#include <string.h> #include <sys/types.h> #include <signal.h> #ifdef SIGFPE @@ -18703,7 +18641,7 @@ set strerror_r d_strerror_r eval $inlibc case "$d_strerror_r" in "$define") - hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h" + hdrs="$i_systypes sys/types.h define stdio.h define string.h" case "$d_strerror_r_proto:$usethreads" in ":define") d_strerror_r_proto=define set d_strerror_r_proto strerror_r $hdrs @@ -19098,10 +19036,7 @@ $cat >try.c <<EOCP #ifdef I_STDLIB # include <stdlib.h> #endif -#$i_string I_STRING -#ifdef I_STRING -# include <string.h> -#endif +#include <string.h> #$i_langinfo I_LANGINFO #ifdef I_LANGINFO # include <langinfo.h> @@ -20029,11 +19964,8 @@ $cat >try.c <<EOP #define LONG_DOUBLESIZE $longdblsize #define LONG_DOUBLEKIND $longdblkind #endif -#$i_string I_STRING #include <math.h> -#ifdef I_STRING -# include <string.h> -#endif +#include <string.h> #include <stdio.h> /* Note that whether the sign bit is on or off * for NaN depends on the CPU/FPU, and possibly @@ -22945,6 +22877,24 @@ case "$gccversion" in ;; esac +: script used to emit important warnings +cat >warn <<EOS +$startsh +if test \$# -gt 0; then + echo "\$@" >msg +else + cat >msg +fi +echo "*** WARNING:" >&4 +sed -e 's/^/*** /' <msg >&4 +echo "*** " >&4 +cat msg >>config.msg +echo " " >>config.msg +rm -f msg +EOS +chmod +x warn +$eunicefix warn + : see if this is a termio system val="$undef" val2="$undef" @@ -24421,7 +24371,6 @@ i_socks='$i_socks' i_stdbool='$i_stdbool' i_stdint='$i_stdint' i_stdlib='$i_stdlib' -i_string='$i_string' i_sunmath='$i_sunmath' i_sysaccess='$i_sysaccess' i_sysdir='$i_sysdir' @@ -24729,7 +24678,6 @@ stdio_filbuf='$stdio_filbuf' stdio_ptr='$stdio_ptr' stdio_stream_array='$stdio_stream_array' strerror_r_proto='$strerror_r_proto' -strings='$strings' submit='$submit' subversion='$subversion' sysman='$sysman' diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux index 33083bc13f..8bac04057a 100644 --- a/Cross/config.sh-arm-linux +++ b/Cross/config.sh-arm-linux @@ -767,7 +767,6 @@ i_socks='undef' i_stdbool='undef' i_stdint='define' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='define' diff --git a/Cross/config.sh-arm-linux-n770 b/Cross/config.sh-arm-linux-n770 index a7f3849771..b33a9c1401 100644 --- a/Cross/config.sh-arm-linux-n770 +++ b/Cross/config.sh-arm-linux-n770 @@ -625,7 +625,6 @@ i_sgtty='undef' i_shadow='define' i_socks='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='define' diff --git a/NetWare/config.wc b/NetWare/config.wc index 660dd9c564..56553addfc 100644 --- a/NetWare/config.wc +++ b/NetWare/config.wc @@ -749,7 +749,6 @@ i_socks='undef' i_stdbool='define' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/NetWare/config_H.wc b/NetWare/config_H.wc index a369f6e854..164de99461 100644 --- a/NetWare/config_H.wc +++ b/NetWare/config_H.wc @@ -672,12 +672,6 @@ */ #define I_NETINET_IN /**/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/Porting/Glossary b/Porting/Glossary index 03156f0ddf..955903b834 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -3564,10 +3564,6 @@ i_stdint (i_stdint.U): indicates to the C program that <stdint.h> exists and should be included. -i_string (i_string.U): - This variable conditionally defines the I_STRING symbol, which - indicates that <string.h> should be included rather than <strings.h>. - i_sunmath (i_sunmath.U): This variable conditionally defines the I_SUNMATH symbol, and indicates whether a C program should include <sunmath.h>. @@ -5229,10 +5225,6 @@ strerror_r_proto (d_strerror_r.U): REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r is defined. -strings (i_string.U): - This variable holds the full path of the string header that will be - used. Typically /usr/include/string.h or /usr/include/strings.h. - submit (Loc.U): This variable is defined but not used by Configure. The value is the empty string and is not useful. diff --git a/Porting/config.sh b/Porting/config.sh index 1cc8d53612..bdbb1b52d7 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -785,7 +785,6 @@ i_socks='undef' i_stdbool='define' i_stdint='define' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='define' diff --git a/Porting/config_H b/Porting/config_H index 8749ceeaf1..4ca543f930 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -630,12 +630,6 @@ */ /*#define I_STDBOOL / **/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/config_h.SH b/config_h.SH index 00f2458bde..89f5950c66 100755 --- a/config_h.SH +++ b/config_h.SH @@ -679,12 +679,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_niin I_NETINET_IN /**/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#$i_string I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/configure.com b/configure.com index 5f354aae4a..fd569ddeff 100644 --- a/configure.com +++ b/configure.com @@ -6579,7 +6579,6 @@ $ WC "i_stdbool='undef'" $ ENDIF $ WC "i_stdint='undef'" $ WC "i_stdlib='define'" -$ WC "i_string='define'" $ WC "i_sunmath='undef'" $ WC "i_sysaccess='" + i_sysaccess + "'" $ WC "i_sysdir='undef'" diff --git a/ext/SDBM_File/sdbm.c b/ext/SDBM_File/sdbm.c index e055f08701..2099857fb8 100644 --- a/ext/SDBM_File/sdbm.c +++ b/ext/SDBM_File/sdbm.c @@ -23,13 +23,7 @@ # include <sys/file.h> #endif -#ifdef I_STRING -# ifndef __ultrix__ -# include <string.h> -# endif -#else -# include <strings.h> -#endif +#include <string.h> /* * externals diff --git a/ext/SDBM_File/sdbm.h b/ext/SDBM_File/sdbm.h index 085aaceb2d..e353569708 100644 --- a/ext/SDBM_File/sdbm.h +++ b/ext/SDBM_File/sdbm.h @@ -178,13 +178,7 @@ Free_t Perl_mfree(Malloc_t where); #endif /* MYMALLOC */ -#ifdef I_STRING -# ifndef __ultrix__ -# include <string.h> -# endif -#else -# include <strings.h> -#endif +#include <string.h> #define memzero(d,l) memset(d,0,l) @@ -901,11 +901,7 @@ EXTERN_C int usleep(unsigned int); #endif #ifndef __SYMBIAN32__ -# if defined(I_STRING) || defined(__cplusplus) -# include <string.h> -# else -# include <strings.h> -# endif +# include <string.h> #endif /* This comes after <stdlib.h> so we don't try to change the standard diff --git a/plan9/config.plan9 b/plan9/config.plan9 index 101ad92165..b1c566d082 100644 --- a/plan9/config.plan9 +++ b/plan9/config.plan9 @@ -676,12 +676,6 @@ */ #define I_NETINET_IN /* config-skip */ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/plan9/config_h.sample b/plan9/config_h.sample index 2a31593eb0..d888d07f43 100644 --- a/plan9/config_h.sample +++ b/plan9/config_h.sample @@ -634,12 +634,6 @@ */ #define I_NETINET_IN /**/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample index 26d86663eb..22404da453 100644 --- a/plan9/config_sh.sample +++ b/plan9/config_sh.sample @@ -761,7 +761,6 @@ i_socks='undef' i_stdbool='undef' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/symbian/config.sh b/symbian/config.sh index e5fd1e3e3e..d187d6167f 100644 --- a/symbian/config.sh +++ b/symbian/config.sh @@ -690,7 +690,6 @@ i_stdarg='define' i_stdbool='undef' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' @@ -644,12 +644,6 @@ */ /*#define I_NETINET_IN / **/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. @@ -5189,6 +5183,6 @@ #endif /* Generated from: - * 7d20869bdf5823fce14e1728a7c415917f7e1fcddf5df6f6b4b16a1a9e2cc6cb config_h.SH - * 0840ae8893cc31a34607870782c78181109e94dfaedff874545a5b2227501892 uconfig.sh + * 7913b611cab4bc7877d2d75fa7ebdacc195e251c150ec7bf4bec7cc4e558b971 config_h.SH + * aa2ab1991bf5916d4b01b69ed4108a49a96fdf763ef66dda095036df8b63af48 uconfig.sh * ex: set ro: */ diff --git a/uconfig.sh b/uconfig.sh index d23dfabf16..2237983090 100644 --- a/uconfig.sh +++ b/uconfig.sh @@ -675,7 +675,6 @@ i_socks='undef' i_stdbool='undef' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/uconfig64.sh b/uconfig64.sh index 60c49b17fb..736e6c3557 100644 --- a/uconfig64.sh +++ b/uconfig64.sh @@ -675,7 +675,6 @@ i_socks='undef' i_stdbool='undef' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/win32/config.ce b/win32/config.ce index 734969185d..1ec2affa96 100644 --- a/win32/config.ce +++ b/win32/config.ce @@ -745,7 +745,6 @@ i_socks='undef' i_stdbool='undef' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/win32/config.gc b/win32/config.gc index 5baf5fe8a4..4ad5b9c1b4 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -759,7 +759,6 @@ i_socks='undef' i_stdbool='define' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/win32/config.vc b/win32/config.vc index ef7f652ce9..f7fb2c1a0c 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -756,7 +756,6 @@ i_socks='undef' i_stdbool='undef' i_stdint='undef' i_stdlib='define' -i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='undef' diff --git a/win32/config_H.ce b/win32/config_H.ce index f4a1e12871..761523b55d 100644 --- a/win32/config_H.ce +++ b/win32/config_H.ce @@ -616,12 +616,6 @@ */ /*#define I_NETINET_IN /**/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/win32/config_H.gc b/win32/config_H.gc index 9bd3db7437..d22745171a 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -632,12 +632,6 @@ */ /*#define I_NETINET_IN / **/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. diff --git a/win32/config_H.vc b/win32/config_H.vc index f4bb807cdb..606dd8cf3a 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -632,12 +632,6 @@ */ /*#define I_NETINET_IN / **/ -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include <string.h> (USG systems) instead of <strings.h> (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. |