ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/liblzf/lzf.c
(Generate patch)

Comparing liblzf/lzf.c (file contents):
Revision 1.7 by root, Tue Aug 29 14:43:49 2006 UTC vs.
Revision 1.8 by root, Wed Sep 27 13:51:51 2006 UTC

69} 69}
70 70
71/* 71/*
72 * Anatomy: an lzf file consists of any number of blocks in the following format: 72 * Anatomy: an lzf file consists of any number of blocks in the following format:
73 * 73 *
74 * \x00 EOF (optional)
74 * "ZV\0" 2-byte-usize <uncompressed data> 75 * "ZV\0" 2-byte-usize <uncompressed data>
75 * "ZV\1" 2-byte-csize 2-byte-usize <compressed data> 76 * "ZV\1" 2-byte-csize 2-byte-usize <compressed data>
76 * "ZV\2" 4-byte-crc32-0xdebb20e3 (NYI) 77 * "ZV\2" 4-byte-crc32-0xdebb20e3 (NYI)
77 * 78 *
78 */ 79 */
134 u8 buff1[64*1024]; 135 u8 buff1[64*1024];
135 u8 buff2[64*1024]; 136 u8 buff2[64*1024];
136 u8 header[3+2+2]; 137 u8 header[3+2+2];
137 138
138 for(;;) { 139 for(;;) {
139 if (fread (header, 3+2, 1, stdin) != 1) 140 int hdrsize = fread (header, 1, 3+2, stdin);
141
142 /* check for \0 record */
143 if (hdrsize)
144 {
145 if (!header[0])
146 break;
147 else if (hdrsize != 3+2)
148 {
149 if (feof (stdin))
150 fprintf (stderr, "decompress: invalid stream - short header\n");
151 else
152 perror ("decompress");
153
154 exit (1);
155 }
156 }
157 else
140 { 158 {
141 if (feof (stdin)) 159 if (feof (stdin))
142 break; 160 break;
143 else 161 else
144 { 162 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines