diff options
author | Ulrich Ölmann <u.oelmann@pengutronix.de> | 2016-04-29 19:17:59 +0200 |
---|---|---|
committer | Steffen Trumtrar <s.trumtrar@pengutronix.de> | 2020-06-22 08:13:12 +0200 |
commit | 7c70e8e153012ca743ffb3b967bdb112fd6ecfd5 (patch) | |
tree | 324cc64c1c447646cb22e449728998dd1f4fd49e /lib | |
parent | ff087598f4cdc426ba883a8720367a4ff3d6b9fe (diff) | |
download | barebox-7c70e8e153012ca743ffb3b967bdb112fd6ecfd5.tar.gz barebox-7c70e8e153012ca743ffb3b967bdb112fd6ecfd5.tar.xz |
bootstrap_read_devfs(): optionally inform the caller of the buffer size
The size of the buffer allocated in the function is needed if it shall be
inspected more closely later. Therefore optionally return it via a new pointer
argument.
Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bootstrap/devfs.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/bootstrap/devfs.c b/lib/bootstrap/devfs.c index 6a3dd76cdd..6d28b1cb4d 100644 --- a/lib/bootstrap/devfs.c +++ b/lib/bootstrap/devfs.c @@ -80,8 +80,8 @@ static unsigned int get_image_size(void *head) } #endif -void* bootstrap_read_devfs(const char *devname, bool use_bb, int offset, - int default_size, int max_size) +void* bootstrap_read_devfs(char *devname, bool use_bb, int offset, + int default_size, int max_size, size_t *bufsize) { int ret; int size = 0; @@ -133,10 +133,13 @@ void* bootstrap_read_devfs(const char *devname, bool use_bb, int offset, ret = cdev_read(cdev, to, size, 0, 0); cdev_close(cdev); - if (ret != size) + if (ret != size) { bootstrap_err("%s: failed to read from %s\n", devname, partname); - else + } else { result = to; + if (bufsize) + *bufsize = size; + } free_memory: free(header); |