diff options
Diffstat (limited to 'ext/DynaLoader/dl_vms.xs')
-rw-r--r-- | ext/DynaLoader/dl_vms.xs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/DynaLoader/dl_vms.xs b/ext/DynaLoader/dl_vms.xs index ca8d54f6d2..1a17793a52 100644 --- a/ext/DynaLoader/dl_vms.xs +++ b/ext/DynaLoader/dl_vms.xs @@ -301,9 +301,10 @@ dl_load_file(filename, flags=0) void -dl_find_symbol(librefptr,symname) +dl_find_symbol(librefptr,symname,ign_err=0) void * librefptr SV * symname + int ign_err PREINIT: struct libref thislib = *((struct libref *)librefptr); struct dsc$descriptor_s @@ -321,7 +322,7 @@ dl_find_symbol(librefptr,symname) DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tentry point is %d\n", (unsigned long int) entry)); if (!(sts & 1)) { - dl_set_error(sts,0); + if (!ign_err) dl_set_error(sts,0); ST(0) = &PL_sv_undef; } else ST(0) = sv_2mortal(newSViv(PTR2IV(entry))); |