anyway here there is getWriteError
bool getWriteError() {
return m_error & WRITE_ERROR;
}
it is strange since m_error should already include WRITE_ERROR
bool FatFile::sync() {
if (!isOpen()) {
return true;
}
if (m_flags & F_FILE_DIR_DIRTY) {
dir_t* dir = cacheDirEntry(FatCache::CACHE_FOR_WRITE);
// check for deleted by another open file object
if (!dir || dir->name[0] == DIR_NAME_DELETED) {
DBG_FAIL_MACRO;
goto fail;
}
// do not set filesize for dir files
if (isFile()) {
dir->fileSize = m_fileSize;
}
// update first cluster fields
dir->firstClusterLow = m_firstCluster & 0XFFFF;
dir->firstClusterHigh = m_firstCluster >> 16;
// set modify time if user supplied a callback date/time function
if (m_dateTime) {
m_dateTime(&dir->lastWriteDate, &dir->lastWriteTime);
dir->lastAccessDate = dir->lastWriteDate;
}
// clear directory dirty
m_flags &= ~F_FILE_DIR_DIRTY;
}
if (m_vol->cacheSync()) {
return true;
}
DBG_FAIL_MACRO;
fail:
m_error |= WRITE_ERROR;
return false;
}
same on fatFile::write()
so, if someone wants to know if there is ay problem, maybe it is enough to call
uint8_t getError() {
return m_error;
}
maybe he doesn't know it so i opened an issue on github
I also found this in changes.txt:
Override Print::getWriteError() and Print::clearWriteError() to use
SdBaseFile functions.
should it mean that these function are here only for compatibility?