diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1996-02-02 18:52:27 -0800 |
---|---|---|
committer | Larry Wall <lwall@sems.com> | 1996-02-02 18:52:27 -0800 |
commit | c07a80fdfe3926b5eb0585b674aa5d1f57b32ade (patch) | |
tree | 6d56135571eb9ea6635748469bdaf72ad481247a /doop.c | |
parent | 91b7def858c29dac014df40946a128c06b3aa2ed (diff) | |
download | perl-c07a80fdfe3926b5eb0585b674aa5d1f57b32ade.tar.gz |
perl5.002beta3
[editor's note: no patch file was found for this release, so no
fine-grained changes]
I can't find the password for our ftp server, so I had to drop it into
ftp://ftp.sems.com/pub/incoming/perl5.002b3.tar.gz, which is a drop
directory you can't ls.
The current plan is that Andy is gonna whack on this a little more, and
then release a gamma in a few days when he's happy with it. So don't get
carried away. This is now *late* beta.
In other words, have less than the appropriate amount of fun. :-)
Larry
Diffstat (limited to 'doop.c')
-rw-r--r-- | doop.c | 38 |
1 files changed, 22 insertions, 16 deletions
@@ -442,10 +442,13 @@ I32 do_chomp(sv) register SV *sv; { - register I32 count = 0; + register I32 count; STRLEN len; char *s; - + + if (RsSNARF(rs)) + return 0; + count = 0; if (SvTYPE(sv) == SVt_PVAV) { register I32 i; I32 max; @@ -472,7 +475,7 @@ register SV *sv; s = SvPV_force(sv, len); if (s && len) { s += --len; - if (rspara) { + if (RsPARA(rs)) { if (*s != '\n') goto nope; ++count; @@ -482,21 +485,24 @@ register SV *sv; ++count; } } - else if (rslen == 1) { - if (*s != rschar) - goto nope; - ++count; - } else { - if (len < rslen - 1) - goto nope; - len -= rslen - 1; - s -= rslen - 1; - if (bcmp(s, rs, rslen)) - goto nope; - count += rslen; + STRLEN rslen; + char *rsptr = SvPV(rs, rslen); + if (rslen == 1) { + if (*s != *rsptr) + goto nope; + ++count; + } + else { + if (len < rslen) + goto nope; + len -= rslen - 1; + s -= rslen - 1; + if (bcmp(s, rsptr, rslen)) + goto nope; + count += rslen; + } } - *s = '\0'; SvCUR_set(sv, len); SvNIOK_off(sv); |