diff options
author | Edward O'Callaghan <quasisec@google.com> | 2021-12-13 12:46:12 +1100 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2022-01-27 04:48:13 +0000 |
commit | 55aa056c7404e0912ed2e56b682512df7a0cca77 (patch) | |
tree | 061ee0a28f94076721f9ae2f5d3a6938bc6c2d97 /flashrom.c | |
parent | 103b139cf76f9fb0934335ed49bddd5762f86843 (diff) | |
download | flashrom-55aa056c7404e0912ed2e56b682512df7a0cca77.tar.gz flashrom-55aa056c7404e0912ed2e56b682512df7a0cca77.tar.bz2 flashrom-55aa056c7404e0912ed2e56b682512df7a0cca77.zip |
flashrom.c: Move do_*() helpers into cli_classic.c
These helpers are only used by the CLI logic and so we localise
them here to move towards cli_classic being a pure libflashrom
user.
BUG=b:208132085
TEST=`make`
Change-Id: If1112155e2421e0178fd73f847cbb80868387433
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/60070
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Diffstat (limited to 'flashrom.c')
-rw-r--r-- | flashrom.c | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/flashrom.c b/flashrom.c index 8287c3141..ac612596e 100644 --- a/flashrom.c +++ b/flashrom.c @@ -2189,100 +2189,3 @@ _free_ret: } /** @} */ /* end flashrom-ops */ - -int do_read(struct flashctx *const flash, const char *const filename) -{ - int ret; - - unsigned long size = flash->chip->total_size * 1024; - unsigned char *buf = calloc(size, sizeof(unsigned char)); - if (!buf) { - msg_gerr("Memory allocation failed!\n"); - return 1; - } - - ret = flashrom_image_read(flash, buf, size); - if (ret > 0) - goto free_out; - - if (write_buf_to_include_args(flash, buf)) { - ret = 1; - goto free_out; - } - if (filename) - ret = write_buf_to_file(buf, size, filename); - -free_out: - free(buf); - return ret; -} - -int do_extract(struct flashctx *const flash) -{ - prepare_layout_for_extraction(flash); - return do_read(flash, NULL); -} - -int do_write(struct flashctx *const flash, const char *const filename, const char *const referencefile) -{ - const size_t flash_size = flash->chip->total_size * 1024; - int ret = 1; - - uint8_t *const newcontents = malloc(flash_size); - uint8_t *const refcontents = referencefile ? malloc(flash_size) : NULL; - - if (!newcontents || (referencefile && !refcontents)) { - msg_gerr("Out of memory!\n"); - goto _free_ret; - } - - /* Read '-w' argument first... */ - if (read_buf_from_file(newcontents, flash_size, filename)) - goto _free_ret; - /* - * ... then update newcontents with contents from files provided to '-i' - * args if needed. - */ - if (read_buf_from_include_args(flash, newcontents)) - goto _free_ret; - - if (referencefile) { - if (read_buf_from_file(refcontents, flash_size, referencefile)) - goto _free_ret; - } - - ret = flashrom_image_write(flash, newcontents, flash_size, refcontents); - -_free_ret: - free(refcontents); - free(newcontents); - return ret; -} - -int do_verify(struct flashctx *const flash, const char *const filename) -{ - const size_t flash_size = flash->chip->total_size * 1024; - int ret = 1; - - uint8_t *const newcontents = malloc(flash_size); - if (!newcontents) { - msg_gerr("Out of memory!\n"); - goto _free_ret; - } - - /* Read '-v' argument first... */ - if (read_buf_from_file(newcontents, flash_size, filename)) - goto _free_ret; - /* - * ... then update newcontents with contents from files provided to '-i' - * args if needed. - */ - if (read_buf_from_include_args(flash, newcontents)) - goto _free_ret; - - ret = flashrom_image_verify(flash, newcontents, flash_size); - -_free_ret: - free(newcontents); - return ret; -} |