summaryrefslogtreecommitdiff
path: root/x2p
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-01-26 00:40:50 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-01-26 00:40:50 +0000
commit75f926282bd78abe2f394977be7dd4dc52cb21ba (patch)
treefd86369fb52a5fa00387d1ce65c7086f0ac41b94 /x2p
parent420218e7eb4fa5ceefe298e6d9121548b8d806d6 (diff)
downloadperl-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.h24
-rw-r--r--x2p/a2py.c5
-rw-r--r--x2p/handy.h4
-rw-r--r--x2p/util.c13
-rw-r--r--x2p/walk.c2
5 files changed, 27 insertions, 21 deletions
diff --git a/x2p/a2p.h b/x2p/a2p.h
index 54a918c0b5..27fed267a1 100644
--- a/x2p/a2p.h
+++ b/x2p/a2p.h
@@ -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);