From 459cd1b0951cdce95bbdd5fcf2c48ec3aef11c2b Mon Sep 17 00:00:00 2001 From: Deomid Ryabkov Date: Mon, 11 Jul 2016 18:42:05 +0200 Subject: [PATCH] Properly override rename on Newlib Newlib implements rename as _link and _unlink, not _rename. There is no _link on either SLFS or SPIFFS, so override rename directly. PUBLISHED_FROM=ebb54664f8a3c8664ecab1fac021bef286a0e230 --- mongoose.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/mongoose.c b/mongoose.c index c774fc5a..99f64043 100644 --- a/mongoose.c +++ b/mongoose.c @@ -10178,11 +10178,11 @@ ssize_t _write(int fd, const void *buf, size_t count) { return r; } -#if MG_TI_NO_HOST_INTERFACE +/* + * On Newlib we override rename directly too, because the default + * implementation using _link and _unlink doesn't work for us. + */ int rename(const char *from, const char *to) { -#else -int _rename(const char *from, const char *to) { -#endif int r = -1; from = drop_dir(from); to = drop_dir(to); @@ -10199,11 +10199,6 @@ int _rename(const char *from, const char *to) { return r; } -int _link(const char *from, const char *to) { - DBG(("link(%s, %s)", from, to)); - return set_errno(ENOTSUP); -} - #if MG_TI_NO_HOST_INTERFACE int unlink(const char *filename) { #else