summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2007-01-01 03:49:03 -0500
committerSteve Peters <steve@fisharerojo.org>2007-01-01 15:41:48 +0000
commit53d44271720d88220a01b5620a93869665083b01 (patch)
tree1dad3ec38b4010490e014136342b7211ea4f48c0 /lib
parent22735491a787756cfbfdb6b4e8124a882f0abd9a (diff)
downloadperl-53d44271720d88220a01b5620a93869665083b01.tar.gz
Symbian port: add Series 90 support
Message-ID: <4599114F.8020307@iki.fi> p4raw-id: //depot/perl@29650
Diffstat (limited to 'lib')
-rw-r--r--lib/ExtUtils/Constant/ProxySubs.pm15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/ExtUtils/Constant/ProxySubs.pm b/lib/ExtUtils/Constant/ProxySubs.pm
index 9b0737293e..6cef5fc709 100644
--- a/lib/ExtUtils/Constant/ProxySubs.pm
+++ b/lib/ExtUtils/Constant/ProxySubs.pm
@@ -242,7 +242,9 @@ static MGVTBL not_defined_vtbl = {
EXPLODE
+#ifndef SYMBIAN
static HV *${c_subname}_missing = NULL;
+#endif
DONT
@@ -318,8 +320,10 @@ EOBOOT
'symbol_table',
$add_symbol_subname);
}
- print $xs_fh "\n", $explosives ? "" : <<"EOBOOT";
+ print $xs_fh $explosives ? "\n" : <<"EOBOOT";
+#ifndef SYMBIAN
${c_subname}_missing = newHV();
+#endif
EOBOOT
print $xs_fh <<"EOBOOT";
@@ -372,11 +376,12 @@ EXPLODE
CvXSUB(cv) = NULL;
CvXSUBANY(cv).any_ptr = NULL;
}
-
+#ifndef SYMBIAN
if (!hv_store(${c_subname}_missing, value_for_notfound->name,
value_for_notfound->namelen, &PL_sv_yes, 0))
Perl_croak($athx "Couldn't add key '%s' to missing_hash",
value_for_notfound->name);
+#endif
DONT
print $xs_fh <<"EOBOOT";
@@ -456,6 +461,9 @@ $xs_subname(sv)
SV * sv;
const char * s = SvPV(sv, len);
PPCODE:
+#ifdef SYMBIAN
+ sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro", sv);
+#else
if (hv_exists(${c_subname}_missing, s, SvUTF8(sv) ? -(I32)len : (I32)len)) {
sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf
", used", sv);
@@ -463,7 +471,8 @@ $xs_subname(sv)
sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro",
sv);
}
- PUSHs(sv_2mortal(sv));
+#endif
+ PUSHs(sv_2mortal(sv));
DONT
}