Closed GoogleCodeExporter closed 9 years ago
When I run 1.1.4 on your input, I get an error -- and no patch is output. The
exit
status is 2. No error message is printed, so this is definitely an encoder bug
(somehow, for this 16 byte input, it produces an invalid encoding). Running
"xdelta
delta -0" I get the same input as yours, but I do not get an output from "xdelta
patch". In SVN 100 (at http://xdelta.googlecode.com/svn/trunk/xdelta1/) I've at
least
fixed the decoder to report the parse error.
Original comment by josh.mac...@gmail.com
on 2 Feb 2007 at 6:41
Original comment by josh.mac...@gmail.com
on 2 Feb 2007 at 8:46
I figured this out. In case you didn't realize, your inputs (16-1.bin and
16-2.bin)
have gzip headers but are invalid inputs for gzip. Xdelta supports "externally
compressed" gzip inputs (read more about external compression in 3.x here:
http://code.google.com/p/xdelta/wiki/ExternalCompression).
Xdelta-1.1.4 and earlier did not check the return value from gzclose(), so
invalid
gzip inputs caused invalid patch outputs from "xdelta delta". This is fixed in
SVN
103 and will be released with 1.1.5. In the meanwhile, to correctly process
invalid
gzip inputs you can pass the -p flag to disable external compression.
Original comment by josh.mac...@gmail.com
on 2 Feb 2007 at 7:52
IIRC (it is four years) I was making a patch of a bigger file,
but xdelta failed... Then I made a little "test case", 16 bytes,
for you.
But it shouldn't matter what the input is,
xdelta should just work (TM).
Be it valid or invalid gzip or jpeg or torrent.
Good if 1.1.5 works this way.
Original comment by usenetha...@gmail.com
on 2 Feb 2007 at 8:35
You will need to pass -p for 1.1.5 to work on invalid gzipped inputs, you can
use -p
on 1.1.4 and it will just work. I'll make a release next weekend or so.
Original comment by dotdotis...@gmail.com
on 2 Feb 2007 at 8:45
Original issue reported on code.google.com by
josh.mac...@gmail.com
on 1 Feb 2007 at 6:36