1
0
mirror of https://github.com/cc65/cc65.git synced 2025-08-07 15:25:31 +00:00
Files
cc65/test/ref/test_rewind.c
Colin Leroy-Mira 21345bd6da Fix headers
2025-01-01 14:32:07 +01:00

57 lines
941 B
C

/*
!!DESCRIPTION!! rewind test
!!LICENCE!! Public domain
*/
#include "common.h"
#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
FILE *in;
char bufA[32];
char bufB[32];
#define INFILE "cf.in"
int main(int argc,char **argv)
{
static int r;
in = fopen(INFILE, "rb");
if (in == NULL) {
return EXIT_FAILURE;
}
r = fread(bufA, 1, sizeof(bufA), in);
if (r == 0) {
printf("Error: could not read.\n");
return EXIT_FAILURE;
}
fwrite(bufA, 1, r, stdout);
rewind(in);
printf("rewind.\n");
r = fread(bufB, 1, sizeof(bufB), in);
if (r == 0) {
printf("Error: could not re-read.\n");
return EXIT_FAILURE;
}
fwrite(bufB, 1, r, stdout);
fclose(in);
if (memcmp(bufA, bufB, sizeof(bufA))) {
printf("reads differ.\n");
return EXIT_FAILURE;
}
return 0;
}