From: Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: [PATCH 02/10] utilfdt_read: pass back up the length of data read
Date: Mon, 15 Apr 2013 22:13:09 -0400 [thread overview]
Message-ID: <1366078397-14889-3-git-send-email-vapier@gentoo.org> (raw)
In-Reply-To: <1366078397-14889-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
For a follow up commit, we want to be able to scan the buffer that was
returned to us. In order to do that safely, we need to know how big
the buffer actually is, so create a new set of funcs to pass that back.
Signed-off-by: Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
---
util.c | 19 ++++++++++++++++---
util.h | 13 +++++++++++++
2 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/util.c b/util.c
index 12f0614..0367df6 100644
--- a/util.c
+++ b/util.c
@@ -197,7 +197,7 @@ char get_escape_char(const char *s, int *i)
return val;
}
-int utilfdt_read_err(const char *filename, char **buffp)
+int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len)
{
int fd = 0; /* assume stdin */
char *buf = NULL;
@@ -238,13 +238,20 @@ int utilfdt_read_err(const char *filename, char **buffp)
free(buf);
else
*buffp = buf;
+ *len = bufsize;
return ret;
}
-char *utilfdt_read(const char *filename)
+int utilfdt_read_err(const char *filename, char **buffp)
+{
+ off_t len;
+ return utilfdt_read_err_len(filename, buffp, &len);
+}
+
+char *utilfdt_read_len(const char *filename, off_t *len)
{
char *buff;
- int ret = utilfdt_read_err(filename, &buff);
+ int ret = utilfdt_read_err_len(filename, &buff, len);
if (ret) {
fprintf(stderr, "Couldn't open blob from '%s': %s\n", filename,
@@ -255,6 +262,12 @@ char *utilfdt_read(const char *filename)
return buff;
}
+char *utilfdt_read(const char *filename)
+{
+ off_t len;
+ return utilfdt_read_len(filename, &len);
+}
+
int utilfdt_write_err(const char *filename, const void *blob)
{
int fd = 1; /* assume stdout */
diff --git a/util.h b/util.h
index 543a173..1f0ef47 100644
--- a/util.h
+++ b/util.h
@@ -85,6 +85,13 @@ char get_escape_char(const char *s, int *i);
char *utilfdt_read(const char *filename);
/**
+ * Like utilfdt_read(), but also passes back the size of the file read.
+ *
+ * @param len If non-NULL, the amount of data we managed to read
+ */
+char *utilfdt_read_len(const char *filename, off_t *len);
+
+/**
* Read a device tree file into a buffer. Does not report errors, but only
* returns them. The value returned can be passed to strerror() to obtain
* an error message for the user.
@@ -95,6 +102,12 @@ char *utilfdt_read(const char *filename);
*/
int utilfdt_read_err(const char *filename, char **buffp);
+/**
+ * Like utilfdt_read_err(), but also passes back the size of the file read.
+ *
+ * @param len If non-NULL, the amount of data we managed to read
+ */
+int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len);
/**
* Write a device tree buffer to a file. This will report any errors on
--
1.8.1.2
next prev parent reply other threads:[~2013-04-16 2:13 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-16 2:13 [PATCH 00/10 v3] usage()/--help clean up & unification, and extend fdtdump Mike Frysinger
[not found] ` <1366078397-14889-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-16 2:13 ` [PATCH 01/10] utilfdt_read_err: use xmalloc funcs Mike Frysinger
2013-04-16 2:13 ` Mike Frysinger [this message]
[not found] ` <1366078397-14889-3-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-19 0:49 ` [PATCH 02/10] utilfdt_read: pass back up the length of data read David Gibson
2013-04-16 2:13 ` [PATCH 03/10] die: constify format string arg Mike Frysinger
2013-04-16 2:13 ` [PATCH 04/10] util_version: new helper for displaying version info Mike Frysinger
[not found] ` <1366078397-14889-5-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-19 0:50 ` David Gibson
[not found] ` <20130419005046.GL16400-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>
2013-04-21 19:26 ` Jon Loeliger
[not found] ` <E1UTztj-0006SA-F8-CYoMK+44s/E@public.gmane.org>
2013-04-22 0:25 ` Mike Frysinger
[not found] ` <201304212025.47665.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-22 15:37 ` Jon Loeliger
[not found] ` <E1UUIno-0004Ox-Dd-CYoMK+44s/E@public.gmane.org>
2013-04-22 15:54 ` Mike Frysinger
[not found] ` <201304221154.08100.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-22 20:44 ` Jon Loeliger
[not found] ` <E1UUNba-0005oJ-Ur-CYoMK+44s/E@public.gmane.org>
2013-04-22 21:16 ` Mike Frysinger
2013-04-22 21:19 ` Mike Frysinger
[not found] ` <201304221719.42982.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-29 10:55 ` David Gibson
2013-04-16 2:13 ` [PATCH 05/10] fdtdump: make usage a bit more friendly Mike Frysinger
[not found] ` <1366078397-14889-6-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-30 8:12 ` David Gibson
[not found] ` <20130430081219.GF20202-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>
2013-05-13 1:45 ` David Gibson
2013-04-16 2:13 ` [PATCH 06/10] fdtdump: add a --scan option Mike Frysinger
[not found] ` <1366078397-14889-7-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-30 8:12 ` David Gibson
2013-04-16 2:13 ` [PATCH 07/10] dtc/fdt{get, put}/convert-dtsv0-lexer: convert to new usage helpers Mike Frysinger
[not found] ` <1366078397-14889-8-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-30 8:23 ` David Gibson
2013-04-16 2:13 ` [PATCH 08/10] util: drop "long" from " Mike Frysinger
[not found] ` <1366078397-14889-9-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-30 8:12 ` David Gibson
2013-04-16 2:13 ` [PATCH 09/10] util: add common ARRAY_SIZE define Mike Frysinger
[not found] ` <1366078397-14889-10-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-29 10:51 ` David Gibson
2013-04-16 2:13 ` [PATCH 10/10] fdtdump: add a debug mode Mike Frysinger
[not found] ` <1366078397-14889-11-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-30 8:13 ` David Gibson
-- strict thread matches above, loose matches on Subject: below --
2013-04-10 18:29 [PATCH 00/10 v2] usage()/--help clean up & unification Mike Frysinger
[not found] ` <1365618555-5893-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-10 18:29 ` [PATCH 02/10] utilfdt_read: pass back up the length of data read Mike Frysinger
[not found] ` <1365618555-5893-3-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-15 4:58 ` David Gibson
[not found] ` <20130415045838.GI16400-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>
2013-04-15 23:22 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1366078397-14889-3-git-send-email-vapier@gentoo.org \
--to=vapier-abrp7r+bbdudnm+yrofe0a@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).