diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-05-11 09:34:13 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-05-11 09:34:13 +0000 |
commit | a6c403648ecd5cc72235fdb1e7535523a8ff2ac9 (patch) | |
tree | ae379cb0349ea1800627a86bc0ddf04fea4403ec /ext | |
parent | 312caa8e97f1c7ee342a9895c2f0e749625b4929 (diff) | |
download | perl-a6c403648ecd5cc72235fdb1e7535523a8ff2ac9.tar.gz |
various fixes for clean build and test on win32; configpm broken,
needed to open myconfig.SH rather than myconfig; sundry adjustments
to bytecode stuff; tweaks to DYNAMIC_ENV_FETCH code to make it
work under win32; getenv_sv() changed to getenv_len() since SVs
aren't visible in the lower echelons; remove bogus exports from
config.sym; PERL_OBJECT-ness for C++ exception support; null out
IoDIRP in filter_del() or sv_free() will attempt to close it
p4raw-id: //depot/perl@3387
Diffstat (limited to 'ext')
-rw-r--r-- | ext/B/B/Asmdata.pm | 2 | ||||
-rw-r--r-- | ext/ByteLoader/ByteLoader.xs | 6 | ||||
-rw-r--r-- | ext/DynaLoader/dlutils.c | 8 |
3 files changed, 11 insertions, 5 deletions
diff --git a/ext/B/B/Asmdata.pm b/ext/B/B/Asmdata.pm index ddc391b388..d4128b67ea 100644 --- a/ext/B/B/Asmdata.pm +++ b/ext/B/B/Asmdata.pm @@ -1,5 +1,5 @@ # -# Copyright (c) 1996-1998 Malcolm Beattie +# Copyright (c) 1996-1999 Malcolm Beattie # # You may distribute under the terms of either the GNU General Public # License or the Artistic License, as specified in the README file. diff --git a/ext/ByteLoader/ByteLoader.xs b/ext/ByteLoader/ByteLoader.xs index 98053c7918..24c3ae8492 100644 --- a/ext/ByteLoader/ByteLoader.xs +++ b/ext/ByteLoader/ByteLoader.xs @@ -2,7 +2,10 @@ #include "perl.h" #include "XSUB.h" -#include "byterun.c" +#ifndef WIN32 +/* this is probably not needed manywhere */ +# include "byterun.c" +#endif /* defgv must be accessed differently under threaded perl */ /* DEFSV et al are in 5.004_56 */ @@ -17,6 +20,7 @@ byteloader_filter(CPerlObj *pPerl, int idx, SV *buf_sv, int maxlen) byteloader_filter(int idx, SV *buf_sv, int maxlen) #endif { + dTHR; OP *saveroot = PL_main_root; OP *savestart = PL_main_start; diff --git a/ext/DynaLoader/dlutils.c b/ext/DynaLoader/dlutils.c index bfa1f78ac0..3bd58ed9b3 100644 --- a/ext/DynaLoader/dlutils.c +++ b/ext/DynaLoader/dlutils.c @@ -48,16 +48,18 @@ static void SaveError(CPERLarg_ char* pat, ...) { va_list args; + SV *msv; char *message; - int len; + STRLEN len; /* This code is based on croak/warn, see mess() in util.c */ va_start(args, pat); - message = mess(pat, &args); + msv = mess(pat, &args); va_end(args); - len = strlen(message) + 1 ; /* include terminating null char */ + message = SvPV(msv,len); + len++; /* include terminating null char */ /* Allocate some memory for the error message */ if (LastError) |