diff options
author | Edward O'Callaghan <quasisec@google.com> | 2022-08-12 11:07:16 +1000 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2022-08-25 00:26:29 +0000 |
commit | b2b154802ba50fc218b54a40c9498476f368b950 (patch) | |
tree | 5c500e523d12843237d850ced2a2e59f82549054 | |
parent | c9ebfad95fed1dedde2d15d62299adba573f34c7 (diff) | |
download | flashrom-b2b154802ba50fc218b54a40c9498476f368b950.tar.gz flashrom-b2b154802ba50fc218b54a40c9498476f368b950.tar.bz2 flashrom-b2b154802ba50fc218b54a40c9498476f368b950.zip |
flashrom.c: Move read_buf_from_include_args() into cli_classic.c
The read_buf_from_include_args() helper is only ever used
by the cli frontend therefore make it static local to the
user.
BUG=b:242246291
TEST=builds
Change-Id: I9dee63d67320085e16c64eefb2723169f49f07aa
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/66647
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Evan Benn <evanbenn@google.com>
Reviewed-by: Sam McNally <sammc@google.com>
Reviewed-by: Thomas Heijligen <src@posteo.de>
-rw-r--r-- | cli_classic.c | 34 | ||||
-rw-r--r-- | flashrom.c | 35 | ||||
-rw-r--r-- | include/flash.h | 1 |
3 files changed, 34 insertions, 36 deletions
diff --git a/cli_classic.c b/cli_classic.c index 81299210..267f3c61 100644 --- a/cli_classic.c +++ b/cli_classic.c @@ -357,6 +357,40 @@ static int wp_cli( return 0; } +/** + * @brief Reads content to buffer from one or more files. + * + * Reads content to supplied buffer from files. If a filename is specified for + * individual regions using the partial read syntax ('-i <region>[:<filename>]') + * then this will read file data into the corresponding region in the + * supplied buffer. + * + * @param layout The layout to be used. + * @param buf Chip-sized buffer to write data to + * @return 0 on success + */ +static int read_buf_from_include_args(const struct flashrom_layout *const layout, unsigned char *buf) +{ + const struct romentry *entry = NULL; + + /* + * Content will be read from -i args, so they must not overlap since + * we need to know exactly what content to write to the ROM. + */ + if (included_regions_overlap(layout)) { + msg_gerr("Error: Included regions must not overlap when writing.\n"); + return 1; + } + + while ((entry = layout_next_included(layout, entry))) { + if (!entry->file) + continue; + if (read_buf_from_file(buf + entry->start, + entry->end - entry->start + 1, entry->file)) + return 1; + } + return 0; +} static int do_read(struct flashctx *const flash, const char *const filename) { @@ -871,41 +871,6 @@ notfound: } /** - * @brief Reads content to buffer from one or more files. - * - * Reads content to supplied buffer from files. If a filename is specified for - * individual regions using the partial read syntax ('-i <region>[:<filename>]') - * then this will read file data into the corresponding region in the - * supplied buffer. - * - * @param layout The layout to be used. - * @param buf Chip-sized buffer to write data to - * @return 0 on success - */ -int read_buf_from_include_args(const struct flashrom_layout *const layout, unsigned char *buf) -{ - const struct romentry *entry = NULL; - - /* - * Content will be read from -i args, so they must not overlap since - * we need to know exactly what content to write to the ROM. - */ - if (included_regions_overlap(layout)) { - msg_gerr("Error: Included regions must not overlap when writing.\n"); - return 1; - } - - while ((entry = layout_next_included(layout, entry))) { - if (!entry->file) - continue; - if (read_buf_from_file(buf + entry->start, - entry->end - entry->start + 1, entry->file)) - return 1; - } - return 0; -} - -/** * @brief Writes content from buffer to one or more files. * * Writes content from supplied buffer to files. If a filename is specified for diff --git a/include/flash.h b/include/flash.h index d5001c1d..fe1005a4 100644 --- a/include/flash.h +++ b/include/flash.h @@ -423,7 +423,6 @@ void print_banner(void); void list_programmers_linebreak(int startcol, int cols, int paren); int selfcheck(void); int read_buf_from_file(unsigned char *buf, unsigned long size, const char *filename); -int read_buf_from_include_args(const struct flashrom_layout *const layout, unsigned char *buf); int write_buf_to_file(const unsigned char *buf, unsigned long size, const char *filename); int write_buf_to_include_args(const struct flashrom_layout *const layout, unsigned char *buf); int prepare_flash_access(struct flashctx *, bool read_it, bool write_it, bool erase_it, bool verify_it); |