zdiff problem
Bruce Dubbs
bruce.dubbs at gmail.com
Sun May 17 19:49:55 MDT 2009
I'm trying to address ticket #2315 that says zdiff doesn't work. I confirmed
this by creating two files with a one line difference and compressing them:
gzip file1
gzip file2
But 'zdiff file1.gz file2.gz' gives no output. Older versions of the script
work properly.
The code in the script is really convoluted. I found an error report in the
gzip archives about this:
http://lists.gnu.org/archive/html/bug-gzip/2008-02/msg00002.html
I note that there was never a reply to the message and that was over a year ago.
The problem code looks like:
gzip_status=$(
exec 4>&1
(gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
( (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
eval "$cmp" /dev/fd/5 -) 5<&0
)
When I look at /dev/fd, I only have 0 through 3 (and on RH and Ubuntu other
systems too, but none use gzip-1.3.12).
The fix appears to be changing the last line above to
eval "$cmp" /dev/fd/5 - >&3) 5<&0
^^^^ added
We can fix this with this with the following:
sed -i 's/5 -)/5 >\&3)/' zdiff
but I don't understand what is really going one here.
Should I make this change? Comments?
-- Bruce
More information about the lfs-dev
mailing list