summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Benn <evanbenn@chromium.org>2022-12-01 17:44:48 +1100
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-12-14 06:47:55 +0000
commit6dc378ebd7eba33e560e1f2561e2e92c8690e326 (patch)
tree8484eb81c85b0031767daccd24528eb18cf9c70b
parent196b0843e90cfa791123d1fff88eca06721dc64a (diff)
downloadvboot-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.c36
-rw-r--r--futility/futility.h8
-rw-r--r--futility/misc.c35
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;
+}