1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Update SPIFFS wrapper for 0.3.3

This commit is contained in:
Ivan Grokhotkov 2015-10-28 16:45:08 +03:00
parent d2d1befe1c
commit 219cb19ece

View File

@ -63,11 +63,7 @@ public:
DirImplPtr openDir(const char* path) override; DirImplPtr openDir(const char* path) override;
bool rename(const char* pathFrom, const char* pathTo) override { bool rename(const char* pathFrom, const char* pathTo) override {
char tmpNameFrom[SPIFFS_OBJ_NAME_LEN]; auto rc = SPIFFS_rename(&_fs, pathFrom, pathTo);
strlcpy(tmpNameFrom, pathFrom, sizeof(tmpNameFrom));
char tmpNameTo[SPIFFS_OBJ_NAME_LEN];
strlcpy(tmpNameTo, pathTo, sizeof(tmpNameTo));
auto rc = SPIFFS_rename(&_fs, tmpNameFrom, tmpNameTo);
if (rc != SPIFFS_OK) { if (rc != SPIFFS_OK) {
DEBUGV("SPIFFS_rename: rc=%d, from=`%s`, to=`%s`\r\n", rc, DEBUGV("SPIFFS_rename: rc=%d, from=`%s`, to=`%s`\r\n", rc,
pathFrom, pathTo); pathFrom, pathTo);
@ -86,9 +82,7 @@ public:
} }
bool remove(const char* path) override { bool remove(const char* path) override {
char tmpName[SPIFFS_OBJ_NAME_LEN]; auto rc = SPIFFS_remove(&_fs, path);
strlcpy(tmpName, path, sizeof(tmpName));
auto rc = SPIFFS_remove(&_fs, tmpName);
if (rc != SPIFFS_OK) { if (rc != SPIFFS_OK) {
DEBUGV("SPIFFS_remove: rc=%d path=`%s`\r\n", rc, path); DEBUGV("SPIFFS_remove: rc=%d path=`%s`\r\n", rc, path);
return false; return false;
@ -411,9 +405,7 @@ protected:
FileImplPtr SPIFFSImpl::open(const char* path, OpenMode openMode, AccessMode accessMode) { FileImplPtr SPIFFSImpl::open(const char* path, OpenMode openMode, AccessMode accessMode) {
int mode = getSpiffsMode(openMode, accessMode); int mode = getSpiffsMode(openMode, accessMode);
char tmpName[SPIFFS_OBJ_NAME_LEN]; int fd = SPIFFS_open(&_fs, path, mode, 0);
strlcpy(tmpName, path, sizeof(tmpName));
int fd = SPIFFS_open(&_fs, tmpName, mode, 0);
if (fd < 0) { if (fd < 0) {
DEBUGV("SPIFFSImpl::open: fd=%d path=`%s` openMode=%d accessMode=%d err=%d\r\n", DEBUGV("SPIFFSImpl::open: fd=%d path=`%s` openMode=%d accessMode=%d err=%d\r\n",
fd, path, openMode, accessMode, _fs.err_code); fd, path, openMode, accessMode, _fs.err_code);
@ -423,18 +415,14 @@ FileImplPtr SPIFFSImpl::open(const char* path, OpenMode openMode, AccessMode acc
} }
bool SPIFFSImpl::exists(const char* path) { bool SPIFFSImpl::exists(const char* path) {
char tmpName[SPIFFS_OBJ_NAME_LEN];
strlcpy(tmpName, path, sizeof(tmpName));
spiffs_stat stat; spiffs_stat stat;
int rc = SPIFFS_stat(&_fs, tmpName, &stat); int rc = SPIFFS_stat(&_fs, path, &stat);
return rc == SPIFFS_OK; return rc == SPIFFS_OK;
} }
DirImplPtr SPIFFSImpl::openDir(const char* path) { DirImplPtr SPIFFSImpl::openDir(const char* path) {
spiffs_DIR dir; spiffs_DIR dir;
char tmpName[SPIFFS_OBJ_NAME_LEN]; spiffs_DIR* result = SPIFFS_opendir(&_fs, path, &dir);
strlcpy(tmpName, path, sizeof(tmpName));
spiffs_DIR* result = SPIFFS_opendir(&_fs, tmpName, &dir);
if (!result) { if (!result) {
DEBUGV("SPIFFSImpl::openDir: path=`%s` err=%d\r\n", path, _fs.err_code); DEBUGV("SPIFFSImpl::openDir: path=`%s` err=%d\r\n", path, _fs.err_code);
return DirImplPtr(); return DirImplPtr();