summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorUlrich Ölmann <u.oelmann@pengutronix.de>2016-04-29 19:17:59 +0200
committerSteffen Trumtrar <s.trumtrar@pengutronix.de>2020-06-22 08:13:12 +0200
commit7c70e8e153012ca743ffb3b967bdb112fd6ecfd5 (patch)
tree324cc64c1c447646cb22e449728998dd1f4fd49e /lib
parentff087598f4cdc426ba883a8720367a4ff3d6b9fe (diff)
downloadbarebox-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.c11
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);