- fp = fopen(filename, "r");
- if (!fp) {
- fprintf(stderr, "fopen: %s: %s\n", strerror(errno), filename);
+ fd = open(filename, O_RDONLY, 0600);
+ if (fd < 0) {
+ fprintf(stderr, "open: %s: %s\n", strerror(errno), filename);
+ return FALSE;
+ }
+
+ /* Read file header */
+ memset(header, 0, sizeof(header));
+ ret = read(fd, (void *)header, sizeof(header) - 1);
+ if (ret < 0) {
+ fprintf(stderr, "read: %s: %s\n", strerror(errno), filename);