diff --git a/ChangeLog b/ChangeLog index a12f8703..d27876af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-11-04 Joerg Wunsch + + bug #22883: Chip Erase performed even with no-write flag (-n) + * main.c: Do not erase the chip if both, -e and -n options have + been specified. + 2008-11-04 Joerg Wunsch bug #24589: AT90USB64* have wrong signature diff --git a/main.c b/main.c index dccb1bb5..0f986bf3 100644 --- a/main.c +++ b/main.c @@ -1037,10 +1037,16 @@ int main(int argc, char * argv []) * erase the chip's flash and eeprom memories, this is required * before the chip can accept new programming */ - if (quell_progress < 2) { - fprintf(stderr, "%s: erasing chip\n", progname); + if (nowrite) { + fprintf(stderr, + "%s: conflicting -e and -n options specified, NOT erasing chip\n", + progname); + } else { + if (quell_progress < 2) { + fprintf(stderr, "%s: erasing chip\n", progname); + } + avr_chip_erase(pgm, p); } - avr_chip_erase(pgm, p); }