blob: 83325f3b7e99c1eec4f31332cd72b3159b310403 [file] [log] [blame]
// RUN: test.sh -p -t %t %s
//
// No fmemopen() on darwin.
// XFAIL: darwin
#include <assert.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
// Ensure that fread() works as expected.
int main()
{
uint64_t arr1[64];
uint64_t arr2[64];
uint64_t one = 1;
char buf[5000];
unsigned i;
size_t result;
FILE *f;
for (i = 0; i < 64; ++i) {
arr1[i] = (one << i);
}
f = fmemopen(buf, sizeof(buf), "r+");
fwrite(arr1, sizeof(uint64_t), 64, f);
rewind(f);
result = fread(arr2, sizeof(uint64_t), 64, f);
assert(result == 64);
for (i = 0; i < 64; ++i) {
assert(arr2[i] = (one << i));
}
fclose(f);
return 0;
}