/* * swift_context.c * * (c) 2009 Ionut Rosoiu * */ #include #include #include #define SIZE 100 #define MAX 100 void read_array(char *filename, int **a, int *n) { FILE *f = fopen(filename, "rb"); int *arr, fsize, N, i; if (f == NULL) { fprintf(stderr, "Cannot open file: %s", filename); abort(); } *a = NULL; arr = NULL; fseek(f, 0, SEEK_END); fsize = (int) ftell(f); N = fsize / sizeof(int); fseek(f, 0, SEEK_SET); arr = (int *) malloc(N * sizeof(int)); if (!arr) { fprintf(stderr, "Out of memory"); abort(); } *a = arr; *n = N; for (i=0; i a[i+1]) { fprintf(stderr, "Invalid array: at pos %d, elements %d %d", i, a[i], a[i+1]); abort(); } } }