void *srealloc(void *ptr, size_t size) {
void *result = realloc(ptr, size);
- exit_if_null(result, "Error: out memory (realloc(%zd))\n", size);
+ if (result == NULL && size > 0)
+ die("Error: out memory (realloc(%zd))\n", size);
return result;
}
if (n == -1) {
perror("write()");
free(filename);
+ close(fd);
return NULL;
}
if (n == 0) {
printf("write == 0?\n");
free(filename);
+ close(fd);
return NULL;
}
written += n;