new_wim_struct()
{
WIMStruct *w = CALLOC(1, sizeof(WIMStruct));
- w->in_fd = INVALID_FILEDES;
- w->out_fd = INVALID_FILEDES;
- w->current_image = WIMLIB_NO_IMAGE;
+ if (w) {
+ w->in_fd = INVALID_FILEDES;
+ w->out_fd = INVALID_FILEDES;
+ }
return w;
}
{
int fd;
- fd = open(filename, O_RDONLY);
- if (fd == -1) {
+ fd = topen(filename, O_RDONLY);
+ if (fd == INVALID_FILEDES) {
ERROR_WITH_ERRNO("Can't open \"%"TS"\" read-only", filename);
return WIMLIB_ERR_OPEN;
}
int
close_wim(WIMStruct *w)
{
- close(w->in_fd);
- w->in_fd = INVALID_FILEDES;
+ if (w->in_fd != INVALID_FILEDES) {
+ close(w->in_fd);
+ w->in_fd = INVALID_FILEDES;
+ }
return 0;
}