diff options
-rw-r--r-- | pp_ctl.c | 3 | ||||
-rw-r--r-- | regcomp.c | 7 | ||||
-rw-r--r-- | regcomp.h | 4 | ||||
-rw-r--r-- | regexec.c | 16 | ||||
-rw-r--r-- | toke.c | 7 | ||||
-rw-r--r-- | util.c | 5 | ||||
-rw-r--r-- | win32/config.bc | 3 | ||||
-rw-r--r-- | win32/config_H.bc | 51 | ||||
-rw-r--r-- | win32/perlglob.c | 4 | ||||
-rw-r--r-- | win32/win32.c | 7 | ||||
-rw-r--r-- | win32/win32.h | 1 |
11 files changed, 78 insertions, 30 deletions
@@ -2119,7 +2119,7 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp) dSP; /* Make POPBLOCK work. */ PERL_CONTEXT *cx; SV **newsp; - I32 gimme; + I32 gimme = GIMME; I32 optype; OP dummy; OP *oop = op, *rop; @@ -2881,3 +2881,4 @@ doparseform(SV *sv) SvCOMPILED_on(sv); } + @@ -372,7 +372,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 data->last_start_max = is_inf ? I32_MAX : data->pos_min + data->pos_delta; } - sv_catpvn(data->last_found, OPERAND(scan)+1, l); + sv_catpvn(data->last_found, (char *)(OPERAND(scan)+1), l); data->last_end = data->pos_min + l; data->pos_min += l; /* As in the first entry. */ data->flags &= ~SF_BEFORE_EOL; @@ -1673,7 +1673,7 @@ tryagain: ret = reg_node((regflags & PMf_FOLD) ? ((regflags & PMf_LOCALE) ? EXACTFL : EXACTF) : EXACT); - s = OPERAND(ret); + s = (char *) OPERAND(ret); regc(0, s++); /* save spot for len */ for (len = 0, p = regparse - 1; len < 127 && p < regxend; @@ -1841,7 +1841,7 @@ regclass(void) register I32 def; I32 numlen; - s = opnd = OPERAND(regcode); + s = opnd = (char *) OPERAND(regcode); ret = reg_node(ANYOF); for (Class = 0; Class < 33; Class++) regc(0, s++); @@ -2662,3 +2662,4 @@ re_croak2(const char* pat1,const char* pat2, va_alist) croak("%s", buf); } + @@ -144,9 +144,9 @@ typedef OP OP_4tree; /* Will be redefined later. */ */ #ifndef DOINIT -EXT const U8 regkind[]; +EXTCONST U8 regkind[]; #else -EXT const U8 regkind[] = { +EXTCONST U8 regkind[] = { END, BOL, BOL, @@ -411,7 +411,7 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend, cha goto phooey; } else if (c = prog->regstclass) { I32 doevery = (prog->reganch & ROPT_SKIP) == 0; - char *class; + char *Class; if (minlen) dontbother = minlen - 1; @@ -420,9 +420,9 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend, cha /* We know what class it must start with. */ switch (OP(c)) { case ANYOF: - class = OPERAND(c); + Class = (char *) OPERAND(c); while (s < strend) { - if (reginclass(class, *s)) { + if (reginclass(Class, *s)) { if (tmp && regtry(prog, s)) goto got_it; else @@ -854,7 +854,7 @@ regmatch(regnode *prog) nextchar = UCHARAT(++locinput); break; case EXACT: - s = OPERAND(scan); + s = (char *) OPERAND(scan); ln = UCHARAT(s++); /* Inline the first character, for speed. */ if (UCHARAT(s) != nextchar) @@ -870,7 +870,7 @@ regmatch(regnode *prog) reg_flags |= RF_tainted; /* FALL THROUGH */ case EXACTF: - s = OPERAND(scan); + s = (char *) OPERAND(scan); ln = UCHARAT(s++); /* Inline the first character, for speed. */ if (UCHARAT(s) != nextchar && @@ -887,7 +887,7 @@ regmatch(regnode *prog) nextchar = UCHARAT(locinput); break; case ANYOF: - s = OPERAND(scan); + s = (char *) OPERAND(scan); if (nextchar < 0) nextchar = UCHARAT(locinput); if (!reginclass(s, nextchar)) @@ -1633,7 +1633,7 @@ regrepeat(regnode *p, I32 max) scan = reginput; if (max != REG_INFTY && max < loceol - scan) loceol = scan + max; - opnd = OPERAND(p); + opnd = (char *) OPERAND(p); switch (OP(p)) { case ANY: while (scan < loceol && *scan != '\n') @@ -1801,3 +1801,5 @@ reginclass(register char *p, register I32 c) return match ^ ((flags & ANYOF_INVERT) != 0); } + + @@ -1230,6 +1230,8 @@ yylex(void) register char *d; register I32 tmp; STRLEN len; + GV *gv = Nullgv; + GV **gvp = 0; if (pending_ident) { char pit = pending_ident; @@ -2545,8 +2547,8 @@ yylex(void) case 'z': case 'Z': keylookup: { - GV *gv = Nullgv; - GV **gvp = 0; + gv = Nullgv; + gvp = 0; bufptr = s; s = scan_word(s, tokenbuf, sizeof tokenbuf, FALSE, &len); @@ -5381,3 +5383,4 @@ yyerror(char *s) return 0; } + @@ -867,9 +867,9 @@ fbm_instr(unsigned char *big, register unsigned char *bigend, SV *littlestr) if (!len) { if (SvTAIL(littlestr)) { if (bigend > big && bigend[-1] == '\n') - return bigend - 1; + return (char *)(bigend - 1); else - return bigend; + return (char *) bigend; } return (char*)big; } @@ -2547,3 +2547,4 @@ Perl_huge(void) } #endif + diff --git a/win32/config.bc b/win32/config.bc index 7554ae5bd8..0a014d7647 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -286,6 +286,9 @@ full_csh='' full_sed='' gcc='' gccversion='' +gethbadd_addr_type='char *' +gethbadd_alen_type='int' +getnbadd_net_type='long' gidtype='gid_t' glibpth='/usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib ' grep='grep' diff --git a/win32/config_H.bc b/win32/config_H.bc index ad7bcaf5a4..edd4ffc09f 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -10,8 +10,8 @@ * $Id: Config_h.U,v 3.0.1.4 1995/09/25 09:10:49 ram Exp $ */ -/* Configuration time: Thu Apr 11 06:20:49 PDT 1996 - * Configured by: garyng +/* Configuration time: undef + * Configured by: nick * Target system: */ @@ -47,11 +47,7 @@ * where library files may be held under a private library, for * instance. */ -#ifdef _ALPHA_ -#define ARCHNAME "alpha-mswin32" /**/ -#else -#define ARCHNAME "x86-mswin32" /**/ -#endif +#define ARCHNAME "MSWin32" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -315,6 +311,36 @@ */ /*#define HAS_GETHOSTENT /**/ +/* HAS_GETHBADD: + * This symbol, if defined, indicates that the gethostbyaddr routine is + * available to lookup host names by their IP addresses. + */ +/*#define HAS_GETHBADD /**/ + +/* Gethbadd_addr_t: + * This symbol holds the type used for the 1st argument + * to gethostbyaddr(). + */ +#define Gethbadd_addr_t char * + +/* Gethbadd_alen_t: + * This symbol holds the type used for the 2nd argument + * to gethostbyaddr(). + */ +#define Gethbadd_alen_t int + +/* HAS_GETNBADD: + * This symbol, if defined, indicates that the getnetbyaddr routine is + * available to lookup networks by their IP addresses. + */ +/*#define HAS_GETNBADD /**/ + +/* Gethbadd_net_t: + * This symbol holds the type used for the 1st argument + * to getnetbyaddr(). + */ +#define Getnbadd_net_t long + /* HAS_UNAME: * This symbol, if defined, indicates that the C program may use the * uname() routine to derive the host name. See also HAS_GETHOSTNAME @@ -1103,6 +1129,12 @@ */ /*#define I_NETINET_IN /**/ +/* I_NETDB: + * This symbol, if defined, indicates that <netdb.h> exists and + * should be included. + */ +/*#define I_NETDB /**/ + /* I_PWD: * This symbol, if defined, indicates to the C program that it should * include <pwd.h>. @@ -1436,6 +1468,7 @@ */ #define ARCHLIB "c:\\perl\\lib" /**/ #define ARCHLIB_EXP (win32PerlLibPath()) /**/ +#define APPLLIB_EXP (win32SiteLibPath()) /**/ /* BINCOMPAT3: * This symbol, if defined, indicates that Perl 5.004 should be @@ -1691,7 +1724,7 @@ * /bin/pdksh, /bin/ash, /bin/bash, or even something such as * D:/bin/sh.exe. */ -#define SH_PATH "cmd.exe" /**/ +#define SH_PATH "cmd /x /c" /**/ /* SIG_NAME: * This symbol contains a list of signal names in order of @@ -1761,7 +1794,7 @@ * script to make sure (one hopes) that it runs with perl and not * some shell. */ -#define STARTPERL "#perl" /**/ +#define STARTPERL "#!perl" /**/ /* USE_PERLIO: * This symbol, if defined, indicates that the PerlIO abstraction should diff --git a/win32/perlglob.c b/win32/perlglob.c index b2fdca2f71..be9d55052c 100644 --- a/win32/perlglob.c +++ b/win32/perlglob.c @@ -22,7 +22,8 @@ main(int argc, char *argv[]) /* check out the file system characteristics */ if (GetFullPathName(".", MAX_PATH, root, &dummy)) { - if (dummy = strchr(root, '\\')) + dummy = strchr(root,'\\'); + if (dummy) *++dummy = '\0'; if (GetVolumeInformation(root, volname, MAX_PATH, &serial, &maxname, &flags, 0, 0)) { @@ -40,3 +41,4 @@ main(int argc, char *argv[]) } return 0; } + diff --git a/win32/win32.c b/win32/win32.c index 28454e80c6..26cf26f8db 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -1338,7 +1338,7 @@ sbrk(int need) if (committed && reserved && committed < reserved) { /* Commit last of previous chunk cannot span allocations */ - addr = VirtualAlloc(committed,reserved-committed,MEM_COMMIT,PAGE_READWRITE); + addr = (char *) VirtualAlloc(committed,reserved-committed,MEM_COMMIT,PAGE_READWRITE); if (addr) committed = reserved; } @@ -1347,7 +1347,7 @@ sbrk(int need) * so lets system choose where we start, subsequent calls pass * the old end address so ask for a contiguous block */ - addr = VirtualAlloc(reserved,size,MEM_RESERVE,PAGE_NOACCESS); + addr = (char *) VirtualAlloc(reserved,size,MEM_RESERVE,PAGE_NOACCESS); if (addr) { reserved = addr+size; @@ -1368,7 +1368,7 @@ sbrk(int need) if (brk > committed) { DWORD size = ((brk-committed + pagesize -1)/pagesize) * pagesize; - char *addr = VirtualAlloc(committed,size,MEM_COMMIT,PAGE_READWRITE); + char *addr = (char *) VirtualAlloc(committed,size,MEM_COMMIT,PAGE_READWRITE); if (addr) { committed += size; @@ -1754,3 +1754,4 @@ win32_strip_return(SV *sv) + diff --git a/win32/win32.h b/win32/win32.h index 9086f31701..ec4faa8587 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -111,6 +111,7 @@ extern gid_t getegid(void); extern int setuid(uid_t uid); extern int setgid(gid_t gid); extern int kill(int pid, int sig); +extern void *sbrk(int need); #undef Stat #define Stat win32_stat |