#include <signal.h>
#endif
-static I32
+#ifndef PERL_OBJECT
+static I32 do_trans_CC_simple _((SV *sv));
+static I32 do_trans_CC_count _((SV *sv));
+static I32 do_trans_CC_complex _((SV *sv));
+static I32 do_trans_UU_simple _((SV *sv));
+static I32 do_trans_UU_count _((SV *sv));
+static I32 do_trans_UU_complex _((SV *sv));
+static I32 do_trans_UC_simple _((SV *sv));
+static I32 do_trans_CU_simple _((SV *sv));
+static I32 do_trans_UC_trivial _((SV *sv));
+static I32 do_trans_CU_trivial _((SV *sv));
+#endif
+
+STATIC I32
do_trans_CC_simple(SV *sv)
{
dTHR;
return matches;
}
-static I32
+STATIC I32
do_trans_CC_count(SV *sv)
{
dTHR;
return matches;
}
-static I32
+STATIC I32
do_trans_CC_complex(SV *sv)
{
dTHR;
return matches;
}
-static I32
+STATIC I32
do_trans_UU_simple(SV *sv)
{
dTHR;
return matches;
}
-static I32
+STATIC I32
do_trans_UU_count(SV *sv)
{
dTHR;
send = s + len;
while (s < send) {
- if ((uv = swash_fetch(rv, s)) < none) {
- s += UTF8SKIP(s);
+ if ((uv = swash_fetch(rv, s)) < none)
matches++;
- }
+ s += UTF8SKIP(s);
}
return matches;
}
-static I32
+STATIC I32
do_trans_UC_simple(SV *sv)
{
dTHR;
return matches;
}
-static I32
+STATIC I32
do_trans_CU_simple(SV *sv)
{
dTHR;
/* utf-8 to latin-1 */
-static I32
+STATIC I32
do_trans_UC_trivial(SV *sv)
{
dTHR;
/* latin-1 to utf-8 */
-static I32
+STATIC I32
do_trans_CU_trivial(SV *sv)
{
dTHR;
return matches;
}
-static I32
+STATIC I32
do_trans_UU_complex(SV *sv)
{
dTHR;
I32
do_trans(SV *sv)
{
+ dTHR;
STRLEN len;
if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL))
- croak(no_modify);
+ croak(PL_no_modify);
(void)SvPV(sv, len);
if (!len)
mark++;
len = (items > 0 ? (delimlen * (items - 1) ) : 0);
- if (SvTYPE(sv) < SVt_PV)
- sv_upgrade(sv, SVt_PV);
+ (void)SvUPGRADE(sv, SVt_PV);
if (SvLEN(sv) < len + items) { /* current length is way too short */
while (items-- > 0) {
if (*mark && !SvGMAGICAL(*mark) && SvOK(*mark)) {
len = leftlen < rightlen ? leftlen : rightlen;
lensave = len;
if (SvOK(sv) || SvTYPE(sv) > SVt_PVMG) {
- dc = SvPV_force(sv, PL_na);
+ STRLEN n_a;
+ dc = SvPV_force(sv, n_a);
if (SvCUR(sv) < len) {
dc = SvGROW(sv, len + 1);
(void)memzero(dc + SvCUR(sv), len - SvCUR(sv) + 1);
RETURN;
}
- if (!SvRMAGICAL(keys) || !mg_find((SV*)keys,'P'))
+ if (! SvTIED_mg((SV*)keys, 'P'))
i = HvKEYS(keys);
else {
i = 0;