diff options
author | Father Chrysostomos <sprout@cpan.org> | 2010-09-24 20:31:28 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-09-24 20:31:28 -0700 |
commit | 078504b2d0c069e5cefbe4670341aa18838d452d (patch) | |
tree | 82ea75dc3a93df1feb46a1a1b97a774ab28f6b20 /proto.h | |
parent | 582ac935ddba404ce00c7eda1a75e8a2c0412eee (diff) | |
download | perl-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 'proto.h')
-rw-r--r-- | proto.h | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -3359,12 +3359,18 @@ PERL_CALLCONV void Perl_sv_clear(pTHX_ SV *const sv) assert(sv) PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV *const sv1, SV *const sv2); +PERL_CALLCONV I32 Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const I32 flags); PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2); +PERL_CALLCONV I32 Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const I32 flags); #if defined(USE_LOCALE_COLLATE) -PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp) +/* PERL_CALLCONV char* sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp) + __attribute__nonnull__(pTHX_1) + __attribute__nonnull__(pTHX_2); */ + +PERL_CALLCONV char* Perl_sv_collxfrm_flags(pTHX_ SV *const sv, STRLEN *const nxp, I32 const flags) __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2); -#define PERL_ARGS_ASSERT_SV_COLLXFRM \ +#define PERL_ARGS_ASSERT_SV_COLLXFRM_FLAGS \ assert(sv); assert(nxp) #endif @@ -3402,7 +3408,8 @@ PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name) #define PERL_ARGS_ASSERT_SV_DOES \ assert(sv); assert(name) -PERL_CALLCONV I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2); +/* PERL_CALLCONV I32 sv_eq(pTHX_ SV* sv1, SV* sv2); */ +PERL_CALLCONV I32 Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const I32 flags); PERL_CALLCONV void Perl_sv_free(pTHX_ SV *const sv); PERL_CALLCONV void Perl_sv_free2(pTHX_ SV *const sv) __attribute__nonnull__(pTHX_1); |