https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6456

--- Comment #9 from Karsten Bräckelmann <[email protected]> 2011-11-01 
18:02:59 UTC ---
(In reply to comment #8)
> Created attachment 5003 [details]
> Revised Carriage Return patch to use $/

  $delimiter =~ s/[\r\n]//g;

That's backwards, you wanted to weed out any *non* [\r\n] chars.

> Attached is a compromise since I feel better sanitizing it to make sure it's
> ok.

Sanitizing your variables always is a good idea, but still, I guess in this
case really not necessary. If we (or anyone else) messes with the input record
separator, it sure is done local()-ly. Otherwise, the code would break all over
the place, and your STDERR logging is the least of your problems.

The input record separator $/ is what chomp() uses internally. Which we use in
95 places in 39 files -- without sanitizing it.

  $ find . -name '*.pm' | xargs grep -l chomp | wc -l
  39

Pending confirmation of $/ doing the expected on Windows systems (Daniel?), I'd
prefer to drop that entire $delimiter dance, and simply use $/ instead of \n.


(As a side-note, the caveats in comment 4 and 5 about old Mac OS <= 9 appears
to be a non-issue. \n is a logical newline, and evaluates appropriately even on
old Mac OS systems. See perlport, section Newline.)

-- 
Configure bugmail: 
https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to