Changeset 4030 for zzuf/trunk/test
- Timestamp:
- Nov 25, 2009, 1:42:17 AM (11 years ago)
- Location:
- zzuf/trunk/test
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/test/check-utils
r4028 r4030 22 22 fi 23 23 for n in 100 101 102 \ 24 200 201 202 203 204 205 206 207 208 209 210 211 212 \24 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 \ 25 25 300 301 302 303 304 305 306 307 308 309 310 311 \ 26 400 401 402 403 404 \26 400 401 402 403 404 405 406 407 \ 27 27 500; do 28 28 check "$ZZOPTS" "$ZZCAT $n $file" "zzcat $n" -
zzuf/trunk/test/zzcat.c
r4028 r4030 39 39 40 40 static int zzcat_read(char const *, unsigned char *, int64_t, int64_t); 41 static int zzcat_fread(char const *, unsigned char *, int64_t );41 static int zzcat_fread(char const *, unsigned char *, int64_t, int64_t); 42 42 static int zzcat_fread_fseek(char const *, unsigned char *, int64_t, int64_t); 43 static int zzcat_fseek_fread(char const *, unsigned char *, int64_t, int64_t); 43 44 #if defined HAVE_GETLINE 44 45 static int zzcat_getline_getc(char const *, unsigned char *, int64_t, int); … … 109 110 case 102: ret = zzcat_read(name, data, len, len); break; 110 111 /* Simple stream calls */ 111 case 200: ret = zzcat_fread(name, data, len); break; 112 case 201: ret = zzcat_fseek_getc(name, data, len, 0, 0); break; 113 case 202: ret = zzcat_fseek_getc(name, data, len, 0, 1); break; 114 case 203: ret = zzcat_fseek_getc(name, data, len, 2, 0); break; 115 case 204: ret = zzcat_fseek_getc(name, data, len, 2, 1); break; 116 case 205: ret = zzcat_fseek_getc(name, data, len, len / 2, 0); break; 117 case 206: ret = zzcat_fseek_getc(name, data, len, len / 2, 1); break; 118 case 207: ret = zzcat_fread_getc(name, data, len, 2, 0); break; 119 case 208: ret = zzcat_fread_getc(name, data, len, 2, 1); break; 120 case 209: ret = zzcat_fread_getc(name, data, len, len / 2, 0); break; 121 case 210: ret = zzcat_fread_getc(name, data, len, len / 2, 1); break; 112 case 200: ret = zzcat_fread(name, data, len, 1); break; 113 case 201: ret = zzcat_fread(name, data, len, 2); break; 114 case 202: ret = zzcat_fread(name, data, len, len); break; 115 case 203: ret = zzcat_fseek_getc(name, data, len, 0, 0); break; 116 case 204: ret = zzcat_fseek_getc(name, data, len, 0, 1); break; 117 case 205: ret = zzcat_fseek_getc(name, data, len, 2, 0); break; 118 case 206: ret = zzcat_fseek_getc(name, data, len, 2, 1); break; 119 case 207: ret = zzcat_fseek_getc(name, data, len, len / 2, 0); break; 120 case 208: ret = zzcat_fseek_getc(name, data, len, len / 2, 1); break; 121 case 209: ret = zzcat_fread_getc(name, data, len, 2, 0); break; 122 case 210: ret = zzcat_fread_getc(name, data, len, 2, 1); break; 123 case 211: ret = zzcat_fread_getc(name, data, len, len / 2, 0); break; 124 case 212: ret = zzcat_fread_getc(name, data, len, len / 2, 1); break; 122 125 #if defined HAVE_GETLINE 123 case 21 1: ret = zzcat_getline_getc(name, data, len, 0); break;124 case 21 2: ret = zzcat_getline_getc(name, data, len, 1); break;126 case 213: ret = zzcat_getline_getc(name, data, len, 0); break; 127 case 214: ret = zzcat_getline_getc(name, data, len, 1); break; 125 128 #endif 126 129 /* Simple unlocked stream calls */ … … 145 148 case 401: ret = zzcat_fread_fseek(name, data, len, 2); break; 146 149 case 402: ret = zzcat_fread_fseek(name, data, len, 4000); break; 147 case 403: ret = zzcat_random_socket(name, data, len); break; 148 case 404: ret = zzcat_random_stream(name, data, len); break; 150 case 403: ret = zzcat_fseek_fread(name, data, len, 1); break; 151 case 404: ret = zzcat_fseek_fread(name, data, len, 2); break; 152 case 405: ret = zzcat_fseek_fread(name, data, len, 4000); break; 153 case 406: ret = zzcat_random_socket(name, data, len); break; 154 case 407: ret = zzcat_random_stream(name, data, len); break; 149 155 /* Misc */ 150 156 #if defined HAVE_MMAP … … 175 181 176 182 /* Only fread() calls */ 177 static int zzcat_fread(char const *name, unsigned char *data, int64_t len) 178 { 179 FILE *stream = fopen(name, "r"); 180 int i; 181 if(!stream) 182 return EXIT_FAILURE; 183 for(i = 0; i < len; i++) 184 fread(data + i, 1, 1, stream); 183 static int zzcat_fread(char const *name, unsigned char *data, int64_t len, 184 int64_t chunk) 185 { 186 FILE *stream = fopen(name, "r"); 187 int i; 188 if(!stream) 189 return EXIT_FAILURE; 190 for(i = 0; i < len; i += chunk) 191 fread(data + i, chunk, 1, stream); 185 192 fclose(stream); 186 193 return EXIT_SUCCESS; … … 202 209 break; 203 210 fseek(stream, chunk, SEEK_CUR); 211 i += chunk; 212 } 213 fclose(stream); 214 return EXIT_SUCCESS; 215 } 216 217 /* Only fseek() and fread() calls */ 218 static int zzcat_fseek_fread(char const *name, unsigned char *data, 219 int64_t len, int64_t chunk) 220 { 221 FILE *stream = fopen(name, "r"); 222 int i; 223 if(!stream) 224 return EXIT_FAILURE; 225 for(i = 0; i < len; ) 226 { 227 fseek(stream, chunk, SEEK_CUR); 228 i += chunk; 229 if (i >= len) 230 break; 231 fread(data + i, chunk, 1, stream); 204 232 i += chunk; 205 233 }
Note: See TracChangeset
for help on using the changeset viewer.