summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-04-10 14:29:07 -0400
committerJon Loeliger <jdl@jdl.com>2013-04-21 14:23:32 -0500
commitcc2c178727cdeca4eb9756637c2e09e50e0856e7 (patch)
treee5d048e177cd803b9416307fc4ab1993f2c06d12 /util.c
parentf8cb5dd94903a5cfa1609695328b8f1d5557367f (diff)
downloaddtc-cc2c178727cdeca4eb9756637c2e09e50e0856e7.tar.gz
utilfdt_read: pass back up the length of data read
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 pass that back if requested. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'util.c')
-rw-r--r--util.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/util.c b/util.c
index 12f0614..c689ea7 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(const char *filename, char **buffp, off_t *len)
{
int fd = 0; /* assume stdin */
char *buf = NULL;
@@ -238,13 +238,15 @@ int utilfdt_read_err(const char *filename, char **buffp)
free(buf);
else
*buffp = buf;
+ if (len)
+ *len = bufsize;
return ret;
}
-char *utilfdt_read(const char *filename)
+char *utilfdt_read(const char *filename, off_t *len)
{
char *buff;
- int ret = utilfdt_read_err(filename, &buff);
+ int ret = utilfdt_read_err(filename, &buff, len);
if (ret) {
fprintf(stderr, "Couldn't open blob from '%s': %s\n", filename,