Added error checking when closing files
This commit is contained in:
29
src/obidms.c
29
src/obidms.c
@ -191,7 +191,13 @@ int create_dms_infos_file(int dms_file_descriptor, const char* dms_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Close file
|
// Close file
|
||||||
close(infos_file_descriptor);
|
if (close(infos_file_descriptor) < 0)
|
||||||
|
{
|
||||||
|
obi_set_errno(OBIDMS_UNKNOWN_ERROR);
|
||||||
|
obidebug(1, "\nError closing a DMS information file");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -427,7 +433,12 @@ OBIDMS_p obi_open_dms(const char* dms_path)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
close(infos_file_descriptor);
|
if (close(infos_file_descriptor) < 0)
|
||||||
|
{
|
||||||
|
obi_set_errno(OBIDMS_UNKNOWN_ERROR);
|
||||||
|
obidebug(1, "\nError closing a DMS information file");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
dms->little_endian = little_endian_dms;
|
dms->little_endian = little_endian_dms;
|
||||||
|
|
||||||
@ -518,13 +529,6 @@ int obi_close_dms(OBIDMS_p dms)
|
|||||||
obi_close_column(*((dms->opened_columns)->columns));
|
obi_close_column(*((dms->opened_columns)->columns));
|
||||||
|
|
||||||
// Close dms, and view and indexer directories
|
// Close dms, and view and indexer directories
|
||||||
if (closedir(dms->directory) < 0)
|
|
||||||
{
|
|
||||||
obi_set_errno(OBIDMS_MEMORY_ERROR);
|
|
||||||
obidebug(1, "\nError closing an OBIDMS directory");
|
|
||||||
free(dms);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (closedir(dms->indexer_directory) < 0)
|
if (closedir(dms->indexer_directory) < 0)
|
||||||
{
|
{
|
||||||
obi_set_errno(OBI_INDEXER_ERROR);
|
obi_set_errno(OBI_INDEXER_ERROR);
|
||||||
@ -539,6 +543,13 @@ int obi_close_dms(OBIDMS_p dms)
|
|||||||
free(dms);
|
free(dms);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
if (closedir(dms->directory) < 0)
|
||||||
|
{
|
||||||
|
obi_set_errno(OBIDMS_MEMORY_ERROR);
|
||||||
|
obidebug(1, "\nError closing an OBIDMS directory");
|
||||||
|
free(dms);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
free(dms);
|
free(dms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user