/* doop.c
*
- * Copyright (c) 1991-1997, Larry Wall
+ * Copyright (c) 1991-1999, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
SvGROW(sv, len + 1); /* so try to pre-extend */
mark = oldmark;
- items = sp - mark;;
+ items = sp - mark;
++mark;
}
}
return;
}
- if (SvTYPE(sv) == SVt_PVHV) {
+ else if (SvTYPE(sv) == SVt_PVHV) {
HV* hv = (HV*)sv;
HE* entry;
(void)hv_iterinit(hv);
do_chop(astr,hv_iterval(hv,entry));
return;
}
+ else if (SvREADONLY(sv))
+ croak(PL_no_modify);
s = SvPV(sv, len);
if (len && !SvPOK(sv))
s = SvPV_force(sv, len);
if (RsSNARF(PL_rs))
return 0;
+ if (RsRECORD(PL_rs))
+ return 0;
count = 0;
if (SvTYPE(sv) == SVt_PVAV) {
register I32 i;
}
return count;
}
- if (SvTYPE(sv) == SVt_PVHV) {
+ else if (SvTYPE(sv) == SVt_PVHV) {
HV* hv = (HV*)sv;
HE* entry;
(void)hv_iterinit(hv);
count += do_chomp(hv_iterval(hv,entry));
return count;
}
+ else if (SvREADONLY(sv))
+ croak(PL_no_modify);
s = SvPV(sv, len);
if (len && !SvPOKp(sv))
s = SvPV_force(sv, len);