s = 0;
for (n = size-1; n >= 0; n--) {
- s = (s << 8) + buf[*i + n]; /* little endian */
+ s = (s << 8) + (unsigned char)buf[*i + n]; /* little endian */
}
*i += size;
return s;
while (ext_headersize != 0) {
char extbuf[4096];
- uchar ext_type;
+ uchar ext_type;
int extpos = 0;
h->compsize -= ext_headersize;
h->mtime = get_header(extbuf, &extpos, 4);
break;
default:
- break;
+ break;
}
extpos = ext_headersize - 2;
ext_headersize = get_header(extbuf, &extpos, 2);
lzh = "rand#{v}k.lzh"
system("cat seq.bin rand#{v}k.bin seq.bin > #{file}")
+ puts "creating..."
case :olha7
when :jlha5 then system("jlha a -o5 #{lzh} #{file}")
when :jlha6 then system("jlha a -o6 #{lzh} #{file}")
else raise
end
+ puts "testing..."
system("lha t #{lzh} > /dev/null")
raise "error #{"%x" % $?.to_i}" if $?.to_i > 0
system("lha vvq #{lzh} >> tmp")
+ puts "extracting..."
File.rename(file, file + ".tmp")
system("olha x #{lzh}")
raise "error #{"%x" % $?.to_i}" if $?.to_i > 0
+
+ puts "comparing..."
system("cmp %s %s" % [file, file + ".tmp"])
raise if $?.to_i > 0