From 997c2e594e2880b15d3ec069aae4320c110c3bf0 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Mon, 22 Jan 2018 19:28:29 -0600 Subject: Fixed incorrect reliance on errno in emubd When running the tests, the emubd erase function relied on the value of errno to not change over a possible call to unlink. Annoyingly, I've only seen this cause problems on a couple of specific Travis instances while self-hosting littlefs on top of littlefs-fuse. --- emubd/lfs_emubd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'emubd') diff --git a/emubd/lfs_emubd.c b/emubd/lfs_emubd.c index b87d6de..fb518a8 100644 --- a/emubd/lfs_emubd.c +++ b/emubd/lfs_emubd.c @@ -196,7 +196,7 @@ int lfs_emubd_erase(const struct lfs_config *cfg, lfs_block_t block) { } } - if (errno == ENOENT || (S_ISREG(st.st_mode) && (S_IWUSR & st.st_mode))) { + if (err || (S_ISREG(st.st_mode) && (S_IWUSR & st.st_mode))) { FILE *f = fopen(emu->path, "w"); if (!f) { return -errno; -- cgit v1.2.3