diff options
author | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-01-26 00:40:50 +0000 |
---|---|---|
committer | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-01-26 00:40:50 +0000 |
commit | 75f926282bd78abe2f394977be7dd4dc52cb21ba (patch) | |
tree | fd86369fb52a5fa00387d1ce65c7086f0ac41b94 /x2p | |
parent | 420218e7eb4fa5ceefe298e6d9121548b8d806d6 (diff) | |
download | perl-75f926282bd78abe2f394977be7dd4dc52cb21ba.tar.gz |
perl5.000 patch.0i: fix glaring mistakes in patches a-h
This patch does the following things:
1. Fix various bonehead errors I introduced in patches a-g.
2. Incorporate MakeMaker changes to bring it up to version 4.01 (mostly).
3. Stick in things I forgot in patches a-g (e.g. AIX).
4. Some minor additional cleanup in x2p/ for even pickier compilers.
5. More hints updates (hpux and next).
6. Include newest dl_hpux.xs.
I didn't have time to
1. Fix the overlapping strcpy() in op.c
2. Restore h2xs to Larry's original design to process <>.
3. take out unnecessary "use Config" in installperl.
4. Add in vms patches.
I forgot to
[If I remembered what i forgot, I wouldn't have forgotten it. :]
I deliberately decided *not* to
1. Touch pod/*
2. deal with overloading
Specifically, here's what's included:
Configure
Regenerated to be sure it's up-to-date.
Makefile.SH
Build extension libraries right into lib/auto/whatever.
Don't set CCCDLFLAGS since we don't use it anyway.
Take care to avoid modifying lib/Config.pm without reason
Visit DynaLoader for `make clean'. (Previously only did
so for `make realclean'.)
@echo "Note that make realclean does not delete config.sh"
Include config.h dependency.
U/i_db.U
config_h.SH
config.H
Remove unwanted quotes around db_hashtype and db_prefixtype.
configpm
Allow specification of alternate name for lib/Config.pm,
so the makefile mv-if-diff trick saves needless re-making.
ext/DynaLoader/DynaLoader.pm
Updated warning messages and comments.
ext/DynaLoader/dl_hpux.xs
Updated to version 2.1. Now uses bootstrap files.
ext/util/make_ext
Explicitly use #!/bin/sh to start it up. This is useful
for testing make_ext.
Improve & simplify Nested::Extension::Processing.
More robust handling of `make clean'.
hints/hpux_9.sh
Support both the bundled and unbundled compilers.
hints/next_3_2.sh
Back to using -posix rather than POSIX_SOURCE. And that only
for ext/POSIX/POSIX.xs.
installperl
Special ranlib treatment for NeXT, which gets confused about
timestamps in libraries, even when you just copy the library.
Supply missing '$' in samepath() function.
lib/AutoSplit.pm
New parameters.
lib/ExtUtils/MakeMaker.pm
Upgraded from 3.8 to 4.01.
lib/ExtUtils/xsubpp
Documentation changed from man to pod.
lib/Getopt/Long.pm
Avoid typo warning.
Drop unused $optx.
lib/Text/Tabs.pm
Fix package name.
makedepend.SH
Explicitly start with $startsh.
Catch cpp that prints # <stdin> instead of line numbers.
perl.h
Fix bonehead mistake that ended up calling my_fmod even if
not needed.
perl_exp.SH
also add symbols from interp.sym
proto.h
Delete 2 redundant prototypes (newBINOP and newUNOP).
util.c
Add (char *) casts to unsigned char args to bcmp.
x2p/a2p.h
Rearrange order of <string?.h> and bcopy & bzero stuff.
Change a few function prototypes to void, to reflect actual
usage.
x2p/a2py.c
Change a few function types to void, to reflect actual usage.
x2p/handy.h
Make *alloc declarations match those in x2p/util.c.
x2p/util.c
Make *alloc declarations match those in x2p/handy.h.
x2p/walk.c
Add a (Size_t) cast for comparison of 1 to the result of strlen().
Thanks to all who's work is included here. Little of it is mine.
Diffstat (limited to 'x2p')
-rw-r--r-- | x2p/a2p.h | 24 | ||||
-rw-r--r-- | x2p/a2py.c | 5 | ||||
-rw-r--r-- | x2p/handy.h | 4 | ||||
-rw-r--r-- | x2p/util.c | 13 | ||||
-rw-r--r-- | x2p/walk.c | 2 |
5 files changed, 27 insertions, 21 deletions
@@ -11,13 +11,6 @@ #define VOIDUSED 1 #include "../config.h" -#ifndef HAS_BCOPY -# define bcopy(s1,s2,l) memcpy(s2,s1,l) -#endif -#ifndef HAS_BZERO -# define bzero(s,l) memset(s,0,l) -#endif - /* Use all the "standard" definitions? */ #if defined(STANDARD_C) && defined(I_STDLIB) # include <stdlib.h> @@ -42,6 +35,13 @@ # include <strings.h> #endif +#ifndef HAS_BCOPY +# define bcopy(s1,s2,l) memcpy(s2,s1,l) +#endif +#ifndef HAS_BZERO +# define bzero(s,l) memset(s,0,l) +#endif + #if !defined(HAS_STRCHR) && defined(HAS_INDEX) && !defined(strchr) #define strchr index #define strrchr rindex @@ -273,10 +273,10 @@ EXT STR *Str; /* Prototypes for things in a2p.c */ int aryrefarg _(( int arg )); int bl _(( int arg, int maybe )); -int dump _(( int branch )); +void dump _(( int branch )); int fixfargs _(( int name, int arg, int prevargs )); int fixrargs _(( char *name, int arg, int prevargs )); -int fixup _(( STR *str )); +void fixup _(( STR *str )); int numary _(( int arg )); int oper0 _(( int type )); int oper1 _(( int type, int arg1 )); @@ -284,13 +284,13 @@ int oper2 _(( int type, int arg1, int arg2 )); int oper3 _(( int type, int arg1, int arg2, int arg3 )); int oper4 _(( int type, int arg1, int arg2, int arg3, int arg4 )); int oper5 _(( int type, int arg1, int arg2, int arg3, int arg4, int arg5 )); -int putlines _(( STR *str )); -int putone _(( void )); +void putlines _(( STR *str )); +void putone _(( void )); int rememberargs _(( int arg )); char * scannum _(( char *s )); char * scanpat _(( char *s )); int string _(( char *ptr, int len )); -int yyerror _(( char *s )); +void yyerror _(( char *s )); int yylex _(( void )); EXT int line INIT(0); diff --git a/x2p/a2py.c b/x2p/a2py.c index f1bc18ebe5..f404c1a8fb 100644 --- a/x2p/a2py.c +++ b/x2p/a2py.c @@ -827,6 +827,7 @@ register char *s; return s; } +void yyerror(s) char *s; { @@ -997,6 +998,7 @@ int arg5; int depth = 0; +void dump(branch) int branch; { @@ -1038,6 +1040,7 @@ int maybe; return arg; } +void fixup(str) STR *str; { @@ -1063,6 +1066,7 @@ STR *str; } } +void putlines(str) STR *str; { @@ -1139,6 +1143,7 @@ STR *str; } } +void putone() { register char *t; diff --git a/x2p/handy.h b/x2p/handy.h index 160d83927c..0049a1108b 100644 --- a/x2p/handy.h +++ b/x2p/handy.h @@ -114,8 +114,8 @@ typedef U16 line_t; #ifndef lint #ifndef LEAKTEST #ifndef safemalloc -char *safemalloc _((MEM_SIZE)); -char *saferealloc _((char *, MEM_SIZE)); +Malloc_t safemalloc _((MEM_SIZE)); +Malloc_t saferealloc _((char *, MEM_SIZE)); void safefree _((char *)); #endif #ifndef MSDOS diff --git a/x2p/util.c b/x2p/util.c index 225812add1..a7fdaea35d 100644 --- a/x2p/util.c +++ b/x2p/util.c @@ -20,14 +20,14 @@ static char nomem[] = "Out of memory!\n"; /* paranoid version of malloc */ -char * +Malloc_t safemalloc(size) MEM_SIZE size; { char *ptr; - char *malloc(); + Malloc_t malloc(); - ptr = malloc(size?size:1); /* malloc(0) is NASTY on our system */ + ptr = (char *) malloc(size?size:1); /* malloc(0) is NASTY on our system */ #ifdef DEBUGGING if (debug & 128) fprintf(stderr,"0x%x: (%05d) malloc %d bytes\n",ptr,an++,size); @@ -43,15 +43,16 @@ MEM_SIZE size; /* paranoid version of realloc */ -char * +Malloc_t saferealloc(where,size) char *where; MEM_SIZE size; { char *ptr; - char *realloc(); + Malloc_t realloc(); - ptr = realloc(where,size?size:1); /* realloc(0) is NASTY on our system */ + ptr = (char *) + realloc(where,size?size:1); /* realloc(0) is NASTY on our system */ #ifdef DEBUGGING if (debug & 128) { fprintf(stderr,"0x%x: (%05d) rfree\n",where,an++); diff --git a/x2p/walk.c b/x2p/walk.c index e4cca450ee..fb738756ba 100644 --- a/x2p/walk.c +++ b/x2p/walk.c @@ -1765,7 +1765,7 @@ int *numericptr; prewalk(0,level,ops[node+2].ival,&numarg); prewalk(0,level,ops[node+1].ival,&numarg); prewalk(0,level,ops[node+3].ival,&numarg); - if (numarg || strlen(ops[ops[node+1].ival+1].cval) > 1) { + if (numarg || strlen(ops[ops[node+1].ival+1].cval) > (Size_t)1) { numericize(ops[node+2].ival); if (!numarg) numericize(ops[node+3].ival); |