From: Jarkko Hietaniemi Date: Sun, 1 Apr 2001 00:24:25 +0000 (+0000) Subject: Integrate changes #9493,9494,9495,9496 from maintperl X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cb359b415c42e7a6c1192036d2ee416133c9daa1;p=p5sagit%2Fp5-mst-13.2.git Integrate changes #9493,9494,9495,9496 from maintperl into mainline. fix a broken workaround for Borland compiler in change#4739 (caused weird "short reads" on DATA, which caused op/misc.t to fail) nits spotted by Borland compiler avoid redefinition warnings under Borland 5.02 various nits identified by the Borland 5.5 compiler; remove suppression of a few warnings p4raw-link: @9496 on //depot/maint-5.6/perl: 9d05ad52b0aa7d1f7d147da0c4dbc14de5fe4a37 p4raw-link: @9495 on //depot/maint-5.6/perl: 759997f1e719f33541bed70dd7f79bfa26a930b3 p4raw-link: @9494 on //depot/maint-5.6/perl: 01b59bde1cb7ff62776f3b83c0f2575c79a950a6 p4raw-link: @9493 on //depot/maint-5.6/perl: eea7051a8d4ef81c032143ab3193bc1240ab2e8f p4raw-link: @4739 on //depot/perl: c39cd00800303e8967294e98aa4c427a1872a251 p4raw-id: //depot/perl@9497 p4raw-integrated: from //depot/maint-5.6/perl@9492 'merge in' sv.c utf8.h (@9288..) toke.c (@9292..) ext/File/Glob/bsd_glob.c (@9415..) win32/makefile.mk (@9426..) win32/win32.h (@9494..) --- diff --git a/ext/File/Glob/bsd_glob.c b/ext/File/Glob/bsd_glob.c index 6e2c9f1..1a12ddf 100644 --- a/ext/File/Glob/bsd_glob.c +++ b/ext/File/Glob/bsd_glob.c @@ -674,7 +674,7 @@ glob3(Char *pathbuf, Char *pathend, Char *pattern, * and dirent.h as taking pointers to differently typed opaque * structures. */ - Direntry_t *(*readdirfunc)(); + Direntry_t *(*readdirfunc)(DIR*); *pathend = BG_EOS; errno = 0; diff --git a/sv.c b/sv.c index 704718e..e91f1d9 100644 --- a/sv.c +++ b/sv.c @@ -7680,8 +7680,8 @@ Perl_gp_dup(pTHX_ GP *gp) MAGIC * Perl_mg_dup(pTHX_ MAGIC *mg) { - MAGIC *mgret = (MAGIC*)NULL; - MAGIC *mgprev; + MAGIC *mgprev = (MAGIC*)NULL; + MAGIC *mgret; if (!mg) return (MAGIC*)NULL; /* look for it in the table first */ @@ -7692,10 +7692,10 @@ Perl_mg_dup(pTHX_ MAGIC *mg) for (; mg; mg = mg->mg_moremagic) { MAGIC *nmg; Newz(0, nmg, 1, MAGIC); - if (!mgret) - mgret = nmg; - else + if (mgprev) mgprev->mg_moremagic = nmg; + else + mgret = nmg; nmg->mg_virtual = mg->mg_virtual; /* XXX copy dynamic vtable? */ nmg->mg_private = mg->mg_private; nmg->mg_type = mg->mg_type; diff --git a/toke.c b/toke.c index 85ac7f2..00b47c8 100644 --- a/toke.c +++ b/toke.c @@ -4182,6 +4182,8 @@ Perl_yylex(pTHX) (void)PerlIO_seek(PL_rsfp, 0L, 0); } if (PerlLIO_setmode(PerlIO_fileno(PL_rsfp), O_TEXT) != -1) { + /* XXX see note in do_binmode() */ + ((FILE*)PL_rsfp)->flags &= ~_F_BIN; if (loc > 0) PerlIO_seek(PL_rsfp, loc, 0); } diff --git a/utf8.h b/utf8.h index 95fe570..8269e4a 100644 --- a/utf8.h +++ b/utf8.h @@ -82,7 +82,7 @@ END_EXTERN_C #define UTF_CONTINUATION_MARK 0x80 #define UTF_ACCUMULATION_SHIFT 6 #define UTF_CONTINUATION_MASK ((U8)0x3f) -#define UTF8_ACCUMULATE(old, new) ((old) << UTF_ACCUMULATION_SHIFT | (((U8)new) & UTF_CONTINUATION_MASK)) +#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT) | (((U8)new) & UTF_CONTINUATION_MASK)) #define UTF8_EIGHT_BIT_HI(c) ((((U8)(c))>>UTF_ACCUMULATION_SHIFT)|UTF_START_MARK(2)) #define UTF8_EIGHT_BIT_LO(c) (((((U8)(c)))&UTF_CONTINUATION_MASK)|UTF_CONTINUATION_MARK) diff --git a/win32/makefile.mk b/win32/makefile.mk index 3f6f9c2..499453b 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -356,8 +356,8 @@ RSC = rc # Options # INCLUDES = -I$(COREDIR) -I.\include -I. -I.. -I"$(CCINCDIR)" -#PCHFLAGS = -H -Hc -H=c:\temp\bcmoduls.pch -DEFINES = -DWIN32 -D_MT $(CRYPT_FLAG) +#PCHFLAGS = -H -Hc -H=c:\temp\bcmoduls.pch +DEFINES = -DWIN32 $(CRYPT_FLAG) LOCDEFS = -DPERLDLL -DPERL_CORE SUBSYS = console CXX_FLAG = -P @@ -381,6 +381,7 @@ EXEOUT_FLAG = -e LIBOUT_FLAG = .IF "$(BCCOLD)" != "define" LINK_FLAGS += -Gn +DEFINES += -D_MT .END .IF "$(BCCVCL)" == "define" LIBC = cp32mti.lib vcl.lib vcl50.lib vclx50.lib vcle50.lib diff --git a/win32/win32.h b/win32/win32.h index 232542c..05a568b 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -165,8 +165,11 @@ struct utsname { #ifdef __BORLANDC__ /* Borland C++ */ +#if (__BORLANDC__ <= 0x520) #define _access access #define _chdir chdir +#endif + #define _getpid getpid #define wcsicmp _wcsicmp #include @@ -183,8 +186,6 @@ struct utsname { #pragma warn -aus /* "'foo' is assigned a value that is never used" */ #pragma warn -use /* "'foo' is declared but never used" */ #pragma warn -csu /* "comparing signed and unsigned values" */ -#pragma warn -pro /* "call to function with no prototype" */ -#pragma warn -stu /* "undefined structure 'foo'" */ /* Borland is picky about a bare member function name used as its ptr */ #ifdef PERL_OBJECT @@ -306,7 +307,7 @@ extern int mkstemp(const char *path); #define init_os_extras Perl_init_os_extras DllExport void Perl_win32_init(int *argcp, char ***argvp); -DllExport void Perl_init_os_extras(); +DllExport void Perl_init_os_extras(void); DllExport void win32_str_os_error(void *sv, DWORD err); DllExport int RunPerl(int argc, char **argv, char **env);