summaryrefslogtreecommitdiff
path: root/ext/DynaLoader/dl_vms.xs
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2014-11-15 23:45:19 -0500
committerFather Chrysostomos <sprout@cpan.org>2014-11-15 22:23:19 -0800
commitbb6a367ad5d39a6d163bda06f6788f8e7833b713 (patch)
treea9e1341f0d27938b5e8a1f4184e3b24aaed65ad0 /ext/DynaLoader/dl_vms.xs
parentf8d5a52263698f3448751c5ac18d2b5edac28b36 (diff)
downloadperl-bb6a367ad5d39a6d163bda06f6788f8e7833b713.tar.gz
misc optimizing in DynaLoader
dl_last_error is "#define dl_last_error (SvPVX(MY_CXT.x_dl_last_error))" since the data is already in a SV *, use newSVsv instead of turning it into a strlen-ed (eventually) char *. -win32 dl_load_file never uses flags, so don't do a SvIV in void context - dl_load_file cant use "flags=NULL" because of test "calling DynaLoader::dl_load_file() with no argument" in DynaLoader.t -OS_Error_String stop repeatedly computing address into MY_CXT and derefing after PerlProc_GetOSError function sizes in machine code bytes on VC 2003 b4 0x69 OS_Error_String af 0x67 b4 0x9D _XS_DynaLoader_dl_error af 0x6B b4 0x108 _XS_DynaLoader_dl_load_file af 0xD6
Diffstat (limited to 'ext/DynaLoader/dl_vms.xs')
-rw-r--r--ext/DynaLoader/dl_vms.xs6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/DynaLoader/dl_vms.xs b/ext/DynaLoader/dl_vms.xs
index 23cf11b97d..bc9782cced 100644
--- a/ext/DynaLoader/dl_vms.xs
+++ b/ext/DynaLoader/dl_vms.xs
@@ -347,13 +347,13 @@ dl_install_xsub(perl_name, symref, filename="$Package")
XS_DYNAMIC_FILENAME)));
-char *
+SV *
dl_error()
CODE:
dMY_CXT;
- RETVAL = dl_last_error ;
+ RETVAL = newSVsv(MY_CXT.x_dl_last_error);
OUTPUT:
- RETVAL
+ RETVAL
#if defined(USE_ITHREADS)