Merge pull request #106 from conkerkh/master

If stats file doesn't exist lfs_emubd_create will fail.
This commit is contained in:
Christopher Haster
2018-09-26 18:58:34 -05:00
committed by GitHub

View File

@@ -47,11 +47,15 @@ int lfs_emubd_create(const struct lfs_config *cfg, const char *path) {
// Load stats to continue incrementing
snprintf(emu->child, LFS_NAME_MAX, "stats");
FILE *f = fopen(emu->path, "r");
if (!f) {
if (!f && errno != ENOENT) {
return -errno;
}
if (errno == ENOENT) {
memset(&emu->stats, 0x0, sizeof(emu->stats));
} else {
size_t res = fread(&emu->stats, sizeof(emu->stats), 1, f);
if (res < 1) {
return -errno;
@@ -61,6 +65,7 @@ int lfs_emubd_create(const struct lfs_config *cfg, const char *path) {
if (err) {
return -errno;
}
}
return 0;
}