Subject: | RE: AULOLOAD subroutine goes into loop |
Date: | Wed, 5 Aug 2015 08:30:31 +0000 |
To: | "bug-Net-SSLeay [...] rt.cpan.org" <bug-Net-SSLeay [...] rt.cpan.org> |
From: | Chanan Meir <Meir.Chanan [...] comverse.com> |
P.S.
Following line is added by me just to avoid the loop:
croak "&Blah::constant not defined" if $constname eq 'constant';
From: Chanan Meir
Sent: Tuesday, August 04, 2015 4:45 PM
To: 'bug-Net-SSLeay@rt.cpan.org'
Subject: AULOLOAD subroutine goes into loop
Hello,
I'm having the problem with Net::SSLeay. The subroutine AUTOLOAD is going to the loop since it can not find function constant().
Where this function is supposed to be defined ?
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
# XS function. If a constant is not found then control is passed
# to the AUTOLOAD in AutoLoader.
my $constname;
print "AUTOLOAD = " . $AUTOLOAD . "\n";
($constname = $AUTOLOAD) =~ s/.*:://;
print "constname = " . $constname . "\n";
croak "&Blah::constant not defined" if $constname eq 'constant';
my $val = constant($constname);
print "val = " . $val . "\n";
print $! . "\n";
if ($! != 0) {
if ($! =~ /((Invalid)|(not valid))/i || $!{EINVAL}) {
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD;
}
else {
croak "Your vendor has not defined SSLeay macro $constname";
}
}
eval "sub $AUTOLOAD { $val }";
goto &$AUTOLOAD;
}
I'm using Net::SSLeay-1.68 with Perl 5.20.2 built for i686-linux
The OS platform is RHEL 5.11 x86_64.
Thanks in advance
Kind Regards,
Meir Chanan
System Software Platform
Comverse
Office: +972 3 645(2031)
Mobile: +972 50 6973443
Email : Meir.Chanan@Comverse.com<mailto:Meir.Chanan@Comverse.com>
Show quoted text
________________________________
"This e-mail message may contain confidential, commercial or privileged information that constitutes proprietary information of Comverse Inc. or its subsidiaries. If you are not the intended recipient of this message, you are hereby notified that any review, use or distribution of this information is absolutely prohibited and we request that you delete all copies and contact us by e-mailing to: security@comverse.com. Thank You."