summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2010-09-24 20:31:28 -0700
committerFather Chrysostomos <sprout@cpan.org>2010-09-24 20:31:28 -0700
commit078504b2d0c069e5cefbe4670341aa18838d452d (patch)
tree82ea75dc3a93df1feb46a1a1b97a774ab28f6b20 /pp.c
parent582ac935ddba404ce00c7eda1a75e8a2c0412eee (diff)
downloadperl-078504b2d0c069e5cefbe4670341aa18838d452d.tar.gz
[perl #76814] FETCH called twice - string comparison ops
This patch changes sv_eq, sv_cmp, sv_cmp_locale and sv_collxfrm to _flags forms, with macros under the old names for sv_eq and sv_collxfrm, but functions for sv_cmp* since pp_sort.c needs them.
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/pp.c b/pp.c
index 2ee604991c..c3191b8db7 100644
--- a/pp.c
+++ b/pp.c
@@ -2336,8 +2336,8 @@ PP(pp_sle)
{
dPOPTOPssrl;
const int cmp = (IN_LOCALE_RUNTIME
- ? sv_cmp_locale(left, right)
- : sv_cmp(left, right));
+ ? sv_cmp_locale_flags(left, right, 0)
+ : sv_cmp_flags(left, right, 0));
SETs(boolSV(cmp * multiplier < rhs));
RETURN;
}
@@ -2349,7 +2349,7 @@ PP(pp_seq)
tryAMAGICbin_MG(seq_amg, AMGf_set);
{
dPOPTOPssrl;
- SETs(boolSV(sv_eq(left, right)));
+ SETs(boolSV(sv_eq_flags(left, right, 0)));
RETURN;
}
}
@@ -2360,7 +2360,7 @@ PP(pp_sne)
tryAMAGICbin_MG(sne_amg, AMGf_set);
{
dPOPTOPssrl;
- SETs(boolSV(!sv_eq(left, right)));
+ SETs(boolSV(!sv_eq_flags(left, right, 0)));
RETURN;
}
}
@@ -2372,8 +2372,8 @@ PP(pp_scmp)
{
dPOPTOPssrl;
const int cmp = (IN_LOCALE_RUNTIME
- ? sv_cmp_locale(left, right)
- : sv_cmp(left, right));
+ ? sv_cmp_locale_flags(left, right, 0)
+ : sv_cmp_flags(left, right, 0));
SETi( cmp );
RETURN;
}