Show input file staistics before patching in update.c
This commit is contained in:
parent
321bddbf7b
commit
c67bfe39a3
33
src/update.c
33
src/update.c
|
@ -485,23 +485,11 @@ int do_op(const PROGRAMMER *pgm, const AVRPART *p, UPDATE *upd, enum updateflags
|
||||||
pmsg_error("read from file %s failed\n", update_inname(upd->filename));
|
pmsg_error("read from file %s failed\n", update_inname(upd->filename));
|
||||||
return LIBAVRDUDE_GENERAL_FAILURE;
|
return LIBAVRDUDE_GENERAL_FAILURE;
|
||||||
}
|
}
|
||||||
// Patch input if for flash, eg, for vector bootloaders?
|
|
||||||
if(pgm->flash_readhook) {
|
|
||||||
AVRMEM *mem = avr_locate_mem(p, upd->memtype);
|
|
||||||
if(mem && !strcmp(mem->desc, "flash")) {
|
|
||||||
rc = pgm->flash_readhook(pgm, p, mem, upd->filename, rc);
|
|
||||||
if (rc < 0) {
|
|
||||||
pmsg_notice("readhook for file %s failed\n", update_inname(upd->filename));
|
|
||||||
return LIBAVRDUDE_GENERAL_FAILURE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
size = rc;
|
|
||||||
pmsg_info("reading input file %s for %s%s\n",
|
pmsg_info("reading input file %s for %s%s\n",
|
||||||
update_inname(upd->filename), mem->desc, alias_mem_desc);
|
update_inname(upd->filename), mem->desc, alias_mem_desc);
|
||||||
|
|
||||||
if(memstats(p, upd->memtype, size, &fs) < 0)
|
if(memstats(p, upd->memtype, rc, &fs) < 0)
|
||||||
return LIBAVRDUDE_GENERAL_FAILURE;
|
return LIBAVRDUDE_GENERAL_FAILURE;
|
||||||
|
|
||||||
imsg_info("with %d byte%s in %d section%s within %s\n",
|
imsg_info("with %d byte%s in %d section%s within %s\n",
|
||||||
|
@ -518,6 +506,25 @@ int do_op(const PROGRAMMER *pgm, const AVRPART *p, UPDATE *upd, enum updateflags
|
||||||
msg_info("\n");
|
msg_info("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Patch input if for flash, eg, for vector bootloaders?
|
||||||
|
if(pgm->flash_readhook) {
|
||||||
|
AVRMEM *mem = avr_locate_mem(p, upd->memtype);
|
||||||
|
if(mem && !strcmp(mem->desc, "flash")) {
|
||||||
|
Filestats fs_patched;
|
||||||
|
rc = pgm->flash_readhook(pgm, p, mem, upd->filename, rc);
|
||||||
|
if (rc < 0) {
|
||||||
|
pmsg_notice("readhook for file %s failed\n", update_inname(upd->filename));
|
||||||
|
return LIBAVRDUDE_GENERAL_FAILURE;
|
||||||
|
}
|
||||||
|
if(memstats(p, upd->memtype, rc, &fs_patched) < 0)
|
||||||
|
return LIBAVRDUDE_GENERAL_FAILURE;
|
||||||
|
if(memcmp(&fs_patched, &fs, sizeof fs))
|
||||||
|
imsg_info("and patching flash input for device%s\n",
|
||||||
|
pgm->prog_modes & PM_SPM? " bootloader": "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
size = rc;
|
||||||
|
|
||||||
// Write the buffer contents to the selected memory type
|
// Write the buffer contents to the selected memory type
|
||||||
pmsg_info("writing %d byte%s %s%s ...\n", fs.nbytes,
|
pmsg_info("writing %d byte%s %s%s ...\n", fs.nbytes,
|
||||||
update_plural(fs.nbytes), mem->desc, alias_mem_desc);
|
update_plural(fs.nbytes), mem->desc, alias_mem_desc);
|
||||||
|
|
Loading…
Reference in New Issue