diff options
author | Evan Benn <evanbenn@chromium.org> | 2022-12-01 17:44:48 +1100 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-12-14 06:47:55 +0000 |
commit | 6dc378ebd7eba33e560e1f2561e2e92c8690e326 (patch) | |
tree | 8484eb81c85b0031767daccd24528eb18cf9c70b | |
parent | 196b0843e90cfa791123d1fff88eca06721dc64a (diff) | |
download | vboot-6dc378ebd7eba33e560e1f2561e2e92c8690e326.tar.gz |
futility: Move write_to_file to misc.c
BUG=b:260531154
BRANCH=None
TEST=FEATURES=test emerge-grunt vboot_reference
TEST=futility gbb -s --flags 0x0 /tmp/bios /tmp/bios2
Change-Id: I92dc87acdd7f0efcb034ee1151fcae0651e80f6f
Signed-off-by: Evan Benn <evanbenn@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/4075307
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
-rw-r--r-- | futility/cmd_gbb_utility.c | 36 | ||||
-rw-r--r-- | futility/futility.h | 8 | ||||
-rw-r--r-- | futility/misc.c | 35 |
3 files changed, 44 insertions, 35 deletions
diff --git a/futility/cmd_gbb_utility.c b/futility/cmd_gbb_utility.c index 7e35cd31..0b34ab38 100644 --- a/futility/cmd_gbb_utility.c +++ b/futility/cmd_gbb_utility.c @@ -16,6 +16,7 @@ #include <unistd.h> #include "futility.h" +#include "updater_utils.h" static void print_help(int argc, char *argv[]) { @@ -253,41 +254,6 @@ fail: return NULL; } -static int write_to_file(const char *msg, const char *filename, - uint8_t *start, size_t size) -{ - FILE *fp; - int r = 0; - - fp = fopen(filename, "wb"); - if (!fp) { - r = errno; - fprintf(stderr, "ERROR: Unable to open %s for writing: %s\n", - filename, strerror(r)); - return r; - } - - /* Don't write zero bytes */ - if (size && 1 != fwrite(start, size, 1, fp)) { - r = errno; - fprintf(stderr, "ERROR: Unable to write to %s: %s\n", filename, - strerror(r)); - } - - if (0 != fclose(fp)) { - int e = errno; - fprintf(stderr, "ERROR: Unable to close %s: %s\n", filename, - strerror(e)); - if (!r) - r = e; - } - - if (!r && msg) - printf("%s %s\n", msg, filename); - - return r; -} - static int read_from_file(const char *msg, const char *filename, uint8_t *start, uint32_t size) { diff --git a/futility/futility.h b/futility/futility.h index 2bf3d7f4..221590c8 100644 --- a/futility/futility.h +++ b/futility/futility.h @@ -172,4 +172,12 @@ enum arch_t { ARCH_MIPS }; +/* + * Write size bytes from start into filename. Print "%msg %filename" to stdout + * on success, if msg is non-NULL. Writes messages to stderr on failure. + * Returns 0 on success. + */ +int write_to_file(const char *msg, const char *filename, uint8_t *start, + size_t size); + #endif /* VBOOT_REFERENCE_FUTILITY_H_ */ diff --git a/futility/misc.c b/futility/misc.c index 85358b29..bcbc61ca 100644 --- a/futility/misc.c +++ b/futility/misc.c @@ -436,3 +436,38 @@ void print_bytes(const void *ptr, size_t len) for (size_t i = 0; i < len; i++) printf("%02x", *buf++); } + +int write_to_file(const char *msg, const char *filename, uint8_t *start, + size_t size) +{ + FILE *fp; + int r = 0; + + fp = fopen(filename, "wb"); + if (!fp) { + r = errno; + fprintf(stderr, "ERROR: Unable to open %s for writing: %s\n", + filename, strerror(r)); + return r; + } + + /* Don't write zero bytes */ + if (size && 1 != fwrite(start, size, 1, fp)) { + r = errno; + fprintf(stderr, "ERROR: Unable to write to %s: %s\n", filename, + strerror(r)); + } + + if (fclose(fp) != 0) { + int e = errno; + fprintf(stderr, "ERROR: Unable to close %s: %s\n", filename, + strerror(e)); + if (!r) + r = e; + } + + if (!r && msg) + printf("%s %s\n", msg, filename); + + return r; +} |