🩹 Bail on 'mc.zip' write error (#25695)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
Giuliano Zaro 2023-04-18 10:40:13 +02:00 committed by GitHub
parent 0c2ed8688d
commit 158c4de4f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 6 additions and 15 deletions

View file

@ -73,7 +73,7 @@ void GcodeSuite::M502() {
bool success = true; bool success = true;
for (uint16_t i = 0; success && i < sizeof(mc_zip); ++i) { for (uint16_t i = 0; success && i < sizeof(mc_zip); ++i) {
const uint8_t c = pgm_read_byte(&mc_zip[i]); const uint8_t c = pgm_read_byte(&mc_zip[i]);
file.write(c); success = (file.write(c) == 1);
} }
success = file.close() && success; success = file.close() && success;

View file

@ -2169,7 +2169,7 @@ bool SdBaseFile::truncate(uint32_t length) {
* include write() is called before a file has been opened, write is called * include write() is called before a file has been opened, write is called
* for a read-only file, device is full, a corrupt file system or an I/O error. * for a read-only file, device is full, a corrupt file system or an I/O error.
*/ */
int16_t SdBaseFile::write(const void *buf, uint16_t nbyte) { int16_t SdBaseFile::write(const void *buf, const uint16_t nbyte) {
#if ENABLED(SDCARD_READONLY) #if ENABLED(SDCARD_READONLY)
writeError = true; return -1; writeError = true; return -1;
#endif #endif

View file

@ -345,7 +345,7 @@ class SdBaseFile {
* \return SdVolume that contains this file. * \return SdVolume that contains this file.
*/ */
SdVolume* volume() const { return vol_; } SdVolume* volume() const { return vol_; }
int16_t write(const void *buf, uint16_t nbyte); int16_t write(const void *buf, const uint16_t nbyte);
private: private:
friend class SdFat; // allow SdFat to set cwd_ friend class SdFat; // allow SdFat to set cwd_

View file

@ -67,11 +67,7 @@ int16_t SdFile::write(const void * const buf, const uint16_t nbyte) { return SdB
* \param[in] b the byte to be written. * \param[in] b the byte to be written.
* Use writeError to check for errors. * Use writeError to check for errors.
*/ */
#if ARDUINO >= 100 size_t SdFile::write(const uint8_t b) { return SdBaseFile::write(&b, 1); }
size_t SdFile::write(const uint8_t b) { return SdBaseFile::write(&b, 1); }
#else
void SdFile::write(const uint8_t b) { SdBaseFile::write(&b, 1); }
#endif
/** /**
* Write a string to a file. Used by the Arduino Print class. * Write a string to a file. Used by the Arduino Print class.

View file

@ -42,12 +42,7 @@ class SdFile : public SdBaseFile {
public: public:
SdFile() {} SdFile() {}
SdFile(const char * const name, const uint8_t oflag); SdFile(const char * const name, const uint8_t oflag);
#if ARDUINO >= 100 size_t write(const uint8_t b);
size_t write(const uint8_t b);
#else
void write(const uint8_t b);
#endif
int16_t write(const void * const buf, const uint16_t nbyte); int16_t write(const void * const buf, const uint16_t nbyte);
void write(const char * const str); void write(const char * const str);
void write_P(PGM_P str); void write_P(PGM_P str);

View file

@ -19,7 +19,7 @@ opt_enable DWIN_CREALITY_LCD_JYERSUI AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY
exec_test $1 $2 "Ender-3 v2 with JyersUI" "$3" exec_test $1 $2 "Ender-3 v2 with JyersUI" "$3"
use_example_configs "Creality/Ender-3 S1/STM32F1" use_example_configs "Creality/Ender-3 S1/STM32F1"
opt_disable DWIN_CREALITY_LCD Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN AUTO_BED_LEVELING_BILINEAR CONFIGURATION_EMBEDDING CANCEL_OBJECTS FWRETRACT opt_disable DWIN_CREALITY_LCD Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN AUTO_BED_LEVELING_BILINEAR CANCEL_OBJECTS FWRETRACT
opt_enable DWIN_LCD_PROUI INDIVIDUAL_AXIS_HOMING_SUBMENU SET_PROGRESS_MANUALLY SET_PROGRESS_PERCENT STATUS_MESSAGE_SCROLLING \ opt_enable DWIN_LCD_PROUI INDIVIDUAL_AXIS_HOMING_SUBMENU SET_PROGRESS_MANUALLY SET_PROGRESS_PERCENT STATUS_MESSAGE_SCROLLING \
SOUND_MENU_ITEM PRINTCOUNTER NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE FILAMENT_RUNOUT_SENSOR \ SOUND_MENU_ITEM PRINTCOUNTER NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE FILAMENT_RUNOUT_SENSOR \
BLTOUCH Z_SAFE_HOMING AUTO_BED_LEVELING_UBL MESH_EDIT_MENU \ BLTOUCH Z_SAFE_HOMING AUTO_BED_LEVELING_UBL MESH_EDIT_MENU \