Changeset 4243 for zzuf/trunk/test
- Timestamp:
- Jan 8, 2010, 2:17:23 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/test/zzcat.c
r4240 r4243 54 54 } 55 55 56 #define FOPEN(cmd) \56 #define MY_FOPEN(cmd) \ 57 57 do { \ 58 58 cmd; \ … … 66 66 } while(0) 67 67 68 #define FCLOSE(cmd) \68 #define MY_FCLOSE(cmd) \ 69 69 do { \ 70 70 cmd; \ … … 86 86 } while(0) 87 87 88 #define FREAD(cmd, buf, cnt)FCALL(cmd, buf, cnt, cnt)89 #define FSEEK(cmd, off)FCALL(cmd, /* unused */ "", 0, off)90 91 #define FCALL(cmd, buf, cnt, off) \88 #define MY_FREAD(cmd, buf, cnt) MY_FCALL(cmd, buf, cnt, cnt) 89 #define MY_FSEEK(cmd, off) MY_FCALL(cmd, /* unused */ "", 0, off) 90 91 #define MY_FCALL(cmd, buf, cnt, off) \ 92 92 do { \ 93 93 if (!f) \ … … 105 105 } while(0) 106 106 107 #define FEOF() \107 #define MY_FEOF() \ 108 108 do { \ 109 109 if (!f) \ … … 185 185 int n; 186 186 char ch; 187 188 (void)k; 187 189 188 190 /* Ignore punctuation */ … … 221 223 /* FILE * opening functions */ 222 224 else if (PARSECMD("fopen ( )")) 223 FOPEN(f = fopen(file, "r"));225 MY_FOPEN(f = fopen(file, "r")); 224 226 #if defined HAVE_FOPEN64 225 227 else if (PARSECMD("fopen64 ( )")) 226 FOPEN(f = fopen64(file, "r"));228 MY_FOPEN(f = fopen64(file, "r")); 227 229 #endif 228 230 #if defined HAVE___FOPEN64 229 231 else if (PARSECMD("__fopen64 ( )")) 230 FOPEN(f = __fopen64(file, "r"));232 MY_FOPEN(f = __fopen64(file, "r")); 231 233 #endif 232 234 else if (PARSECMD("freopen ( )")) 233 FOPEN(f = freopen(file, "r", f));235 MY_FOPEN(f = freopen(file, "r", f)); 234 236 #if defined HAVE_FREOPEN64 235 237 else if (PARSECMD("freopen64 ( )")) 236 FOPEN(f = freopen64(file, "r", f));238 MY_FOPEN(f = freopen64(file, "r", f)); 237 239 #endif 238 240 #if defined HAVE___FREOPEN64 239 241 else if (PARSECMD("__freopen64 ( )")) 240 FOPEN(f = __freopen64(file, "r", f));242 MY_FOPEN(f = __freopen64(file, "r", f)); 241 243 #endif 242 244 243 245 /* FILE * EOF detection */ 244 246 else if (PARSECMD("feof ( %li )", &l1)) 245 FEOF();247 MY_FEOF(); 246 248 247 249 /* FILE * closing functions */ 248 250 else if (PARSECMD("fclose ( )")) 249 FCLOSE(fclose(f));251 MY_FCLOSE(fclose(f)); 250 252 251 253 /* FILE * reading functions */ 252 254 else if (PARSECMD("fread ( %li , %li )", &l1, &l2)) 253 FREAD(l = fread(tmp, l1, l2, f), tmp, l > 0 ? l * l1 : 0);255 MY_FREAD(l = fread(tmp, l1, l2, f), tmp, l > 0 ? l * l1 : 0); 254 256 else if (PARSECMD("getc ( )")) 255 FREAD(ch = (n = getc(f)), &ch, (n != EOF));257 MY_FREAD(ch = (n = getc(f)), &ch, (n != EOF)); 256 258 else if (PARSECMD("fgetc ( )")) 257 FREAD(ch = (n = fgetc(f)), &ch, (n != EOF));259 MY_FREAD(ch = (n = fgetc(f)), &ch, (n != EOF)); 258 260 else if (PARSECMD("fgets ( %li )", &l1)) 259 FREAD(s = fgets(tmp, l1, f), tmp, s ? strlen(tmp) : 0);261 MY_FREAD(s = fgets(tmp, l1, f), tmp, s ? strlen(tmp) : 0); 260 262 #if defined HAVE__IO_GETC 261 263 else if (PARSECMD("_IO_getc ( )")) 262 FREAD(ch = (n = _IO_getc(f)), &ch, (n != EOF));264 MY_FREAD(ch = (n = _IO_getc(f)), &ch, (n != EOF)); 263 265 #endif 264 266 #if defined HAVE_FREAD_UNLOCKED 265 267 else if (PARSECMD("fread_unlocked ( %li , %li )", &l1, &l2)) 266 FREAD(l = fread_unlocked(tmp, l1, l2, f), tmp, l > 0 ? l * l1 : 0);268 MY_FREAD(l = fread_unlocked(tmp, l1, l2, f), tmp, l > 0 ? l * l1 : 0); 267 269 #endif 268 270 #if defined HAVE_FGETS_UNLOCKED 269 271 else if (PARSECMD("fgets_unlocked ( %li )", &l1)) 270 FREAD(s = fgets_unlocked(tmp, l1, f), tmp, s ? strlen(tmp) : 0);272 MY_FREAD(s = fgets_unlocked(tmp, l1, f), tmp, s ? strlen(tmp) : 0); 271 273 #endif 272 274 #if defined HAVE_GETC_UNLOCKED 273 275 else if (PARSECMD("getc_unlocked ( )")) 274 FREAD(ch = (n = getc_unlocked(f)), &ch, (n != EOF));276 MY_FREAD(ch = (n = getc_unlocked(f)), &ch, (n != EOF)); 275 277 #endif 276 278 #if defined HAVE_FGETC_UNLOCKED 277 279 else if (PARSECMD("fgetc_unlocked ( )")) 278 FREAD(ch = (n = fgetc_unlocked(f)), &ch, (n != EOF));280 MY_FREAD(ch = (n = fgetc_unlocked(f)), &ch, (n != EOF)); 279 281 #endif 280 282 … … 282 284 #if defined HAVE_GETLINE 283 285 else if (PARSECMD("getline ( )")) 284 FREAD(l = getline(&lineptr, &k, f), lineptr, l >= 0 ? l : 0);286 MY_FREAD(l = getline(&lineptr, &k, f), lineptr, l >= 0 ? l : 0); 285 287 #endif 286 288 #if defined HAVE_GETDELIM 287 289 else if (PARSECMD("getdelim ( '%c' )", &ch)) 288 FREAD(l = getdelim(&lineptr, &k, ch, f), lineptr, l >= 0 ? l : 0);290 MY_FREAD(l = getdelim(&lineptr, &k, ch, f), lineptr, l >= 0 ? l : 0); 289 291 else if (PARSECMD("getdelim ( %i )", &n)) 290 FREAD(l = getdelim(&lineptr, &k, n, f), lineptr, l >= 0 ? l : 0);292 MY_FREAD(l = getdelim(&lineptr, &k, n, f), lineptr, l >= 0 ? l : 0); 291 293 #endif 292 294 #if defined HAVE___GETDELIM 293 295 else if (PARSECMD("__getdelim ( '%c' )", &ch)) 294 FREAD(l = __getdelim(&lineptr, &k, ch, f), lineptr, l >= 0 ? l : 0);296 MY_FREAD(l = __getdelim(&lineptr, &k, ch, f), lineptr, l >= 0 ? l : 0); 295 297 else if (PARSECMD("__getdelim ( %i )", &n)) 296 FREAD(l = __getdelim(&lineptr, &k, n, f), lineptr, l >= 0 ? l : 0);298 MY_FREAD(l = __getdelim(&lineptr, &k, n, f), lineptr, l >= 0 ? l : 0); 297 299 #endif 298 300 299 301 /* FILE * seeking functions */ 300 302 else if (PARSECMD("fseek ( %li , SEEK_CUR )", &l1)) 301 FSEEK(l = fseek(f, l1, SEEK_CUR),302 ftell(f) >= 0 ? ftell(f) - retoff : 0);303 MY_FSEEK(l = fseek(f, l1, SEEK_CUR), 304 ftell(f) >= 0 ? ftell(f) - retoff : 0); 303 305 else if (PARSECMD("fseek ( %li , SEEK_SET )", &l1)) 304 FSEEK(l = fseek(f, l1, SEEK_SET),305 ftell(f) >= 0 ? ftell(f) - retoff : 0);306 MY_FSEEK(l = fseek(f, l1, SEEK_SET), 307 ftell(f) >= 0 ? ftell(f) - retoff : 0); 306 308 else if (PARSECMD("fseek ( %li , SEEK_END )", &l1)) 307 FSEEK(l = fseek(f, l1, SEEK_END),308 ftell(f) >= 0 ? ftell(f) - retoff : 0);309 MY_FSEEK(l = fseek(f, l1, SEEK_END), 310 ftell(f) >= 0 ? ftell(f) - retoff : 0); 309 311 #if defined HAVE_FSEEKO 310 312 else if (PARSECMD("fseeko ( %li , SEEK_CUR )", &l1)) 311 FSEEK(l = fseeko(f, l1, SEEK_CUR),312 ftell(f) >= 0 ? ftell(f) - retoff : 0);313 MY_FSEEK(l = fseeko(f, l1, SEEK_CUR), 314 ftell(f) >= 0 ? ftell(f) - retoff : 0); 313 315 else if (PARSECMD("fseeko ( %li , SEEK_SET )", &l1)) 314 FSEEK(l = fseeko(f, l1, SEEK_SET),315 ftell(f) >= 0 ? ftell(f) - retoff : 0);316 MY_FSEEK(l = fseeko(f, l1, SEEK_SET), 317 ftell(f) >= 0 ? ftell(f) - retoff : 0); 316 318 else if (PARSECMD("fseeko ( %li , SEEK_END )", &l1)) 317 FSEEK(l = fseeko(f, l1, SEEK_END),318 ftell(f) >= 0 ? ftell(f) - retoff : 0);319 MY_FSEEK(l = fseeko(f, l1, SEEK_END), 320 ftell(f) >= 0 ? ftell(f) - retoff : 0); 319 321 #endif 320 322 #if defined HAVE_FSEEKO64 321 323 else if (PARSECMD("fseeko64 ( %li , SEEK_CUR )", &l1)) 322 FSEEK(l = fseeko64(f, l1, SEEK_CUR),323 ftell(f) >= 0 ? ftell(f) - retoff : 0);324 MY_FSEEK(l = fseeko64(f, l1, SEEK_CUR), 325 ftell(f) >= 0 ? ftell(f) - retoff : 0); 324 326 else if (PARSECMD("fseeko64 ( %li , SEEK_SET )", &l1)) 325 FSEEK(l = fseeko64(f, l1, SEEK_SET),326 ftell(f) >= 0 ? ftell(f) - retoff : 0);327 MY_FSEEK(l = fseeko64(f, l1, SEEK_SET), 328 ftell(f) >= 0 ? ftell(f) - retoff : 0); 327 329 else if (PARSECMD("fseeko64 ( %li , SEEK_END )", &l1)) 328 FSEEK(l = fseeko64(f, l1, SEEK_END),329 ftell(f) >= 0 ? ftell(f) - retoff : 0);330 MY_FSEEK(l = fseeko64(f, l1, SEEK_END), 331 ftell(f) >= 0 ? ftell(f) - retoff : 0); 330 332 #endif 331 333 #if defined HAVE___FSEEKO64 332 334 else if (PARSECMD("__fseeko64 ( %li , SEEK_CUR )", &l1)) 333 FSEEK(l = __fseeko64(f, l1, SEEK_CUR),334 ftell(f) >= 0 ? ftell(f) - retoff : 0);335 MY_FSEEK(l = __fseeko64(f, l1, SEEK_CUR), 336 ftell(f) >= 0 ? ftell(f) - retoff : 0); 335 337 else if (PARSECMD("__fseeko64 ( %li , SEEK_SET )", &l1)) 336 FSEEK(l = __fseeko64(f, l1, SEEK_SET),337 ftell(f) >= 0 ? ftell(f) - retoff : 0);338 MY_FSEEK(l = __fseeko64(f, l1, SEEK_SET), 339 ftell(f) >= 0 ? ftell(f) - retoff : 0); 338 340 else if (PARSECMD("__fseeko64 ( %li , SEEK_END )", &l1)) 339 FSEEK(l = __fseeko64(f, l1, SEEK_END),340 ftell(f) >= 0 ? ftell(f) - retoff : 0);341 MY_FSEEK(l = __fseeko64(f, l1, SEEK_END), 342 ftell(f) >= 0 ? ftell(f) - retoff : 0); 341 343 #endif 342 344 else if (PARSECMD("rewind ( )")) 343 FSEEK(rewind(f), -retlen);345 MY_FSEEK(rewind(f), -retlen); 344 346 else if (PARSECMD("ungetc ( )")) 345 FSEEK(if(retoff) ungetc((unsigned char)retbuf[retoff - 1], f),346 retoff ? -1 : 0);347 MY_FSEEK(if(retoff) ungetc((unsigned char)retbuf[retoff - 1], f), 348 retoff ? -1 : 0); 347 349 348 350 /* Unrecognised sequence */
Note: See TracChangeset
for help on using the changeset viewer.