summaryrefslogtreecommitdiff
path: root/win32/GenCAPI.pl
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-05-11 09:34:13 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-05-11 09:34:13 +0000
commita6c403648ecd5cc72235fdb1e7535523a8ff2ac9 (patch)
treeae379cb0349ea1800627a86bc0ddf04fea4403ec /win32/GenCAPI.pl
parent312caa8e97f1c7ee342a9895c2f0e749625b4929 (diff)
downloadperl-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 'win32/GenCAPI.pl')
-rw-r--r--win32/GenCAPI.pl11
1 files changed, 5 insertions, 6 deletions
diff --git a/win32/GenCAPI.pl b/win32/GenCAPI.pl
index 77e7aad8b8..82e0b32fc7 100644
--- a/win32/GenCAPI.pl
+++ b/win32/GenCAPI.pl
@@ -73,6 +73,8 @@ safexrealloc
safexfree
Perl_GetVars
malloced_size
+do_exec3
+getenv_len
)];
@@ -155,14 +157,11 @@ while () {
#undef $name
extern "C" $type $funcName ($args)
{
- char *pstr;
- char *pmsg;
+ SV *pmsg;
va_list args;
va_start(args, $arg);
- pmsg = pPerl->Perl_mess($arg, &args);
- New(0, pstr, strlen(pmsg)+1, char);
- strcpy(pstr, pmsg);
-$return pPerl->Perl_$name($start pstr);
+ pmsg = pPerl->Perl_sv_2mortal(pPerl->Perl_newSVsv(pPerl->Perl_mess($arg, &args)));
+$return pPerl->Perl_$name($start SvPV_nolen(pmsg));
va_end(args);
}
ENDCODE