Bug 203692

Summary: Change of behaviour breaks psset
Product: Red Hat Enterprise Linux 3 Reporter: Bastien Nocera <bnocera>
Component: sedAssignee: Petr Machata <pmachata>
Status: CLOSED WONTFIX QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: mnewsome, tao
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-05-23 17:37:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 203697    
Attachments:
Description Flags
Fix for RHEL-3 none

Description Bastien Nocera 2006-08-23 08:31:26 UTC
The behaviour is actually broken on RHEL3, not RHEL4.

+++ This bug was initially created as a clone of Bug #203339 +++

psset will generate broken PS output when used on RHEL4.

1. Run
ls | a2ps -o - | psset -t > test.ps
2. Notice the broken ps on RHEL4 (where it works on RHEL3)

The bug (control characters where there should be text) is due to a change in
sed's behaviour.

RHEL3, sed-4.0.7-3:
$ echo ''|sed -e ' i\\co' | hexdump -C
00000000  5c 63 6f 0a 0a                                    |\co..|
00000005

RHEL4, sed-4.1.2-4:
$ echo ''|sed -e ' i\\co' | hexdump -C
00000000  0f 0a 0a                                          |...|
00000003

RHEL4, with RHEL3's sed:
$ echo ''|./sed -e ' i\\co' | hexdump -C
00000000  5c 63 6f 0a 0a                                    |\co..|
00000005

-- Additional comment from pmachata on 2006-08-22 13:36 EST --
Hmm... yes, there indeed is a change in behavior.  However it seems to me that
the new version is correct in handling backslashes, and that the right way to
write the sequence '\co' is with 'i\\\co'.  First '\' is the delimiter (which
can be missing, but if it's here, it has to be the delimiter), following '\\' is
escaped backslash, and then 'co'.  In contrast, 'i\\co' interprets \c as escape
and turns 'o' into control character.
If you retarget this bug against EL3, I will adjust the behavior of sed there.

Comment 1 Petr Machata 2007-05-23 17:33:25 UTC
Created attachment 155279 [details]
Fix for RHEL-3