From 5c57076891fd773190eb0f1657a09a4b64dfbc47 Mon Sep 17 00:00:00 2001 From: Andrea Adami Date: Sun, 29 Jun 2014 00:40:15 +0200 Subject: libubi.c: add klibc specific fixes for ioctl First issue is that ioctl() in klibc doesn't expect a constant as arg3. Second issue is that arg3 in klibc ioctl() implementation is not optional. Fixes: | ubi-utils/libubi.c: In function 'do_attach': | ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards | 'const' qualifier from pointer target type | ret = ioctl(fd, UBI_IOCATT, r); | ^ | In file included from ubi-utils/libubi.c:32:0: | .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument | is of type 'const struct ubi_attach_req *' | __extern int ioctl(int, int, void *); | ^ | ubi-utils/libubi.c: In function 'ubi_vol_block_create': | ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl' | return ioctl(fd, UBI_IOCVOLCRBLK); | ^ | In file included from ubi-utils/libubi.c:32:0: | .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here | __extern int ioctl(int, int, void *); | ^ | ubi-utils/libubi.c: In function 'ubi_vol_block_remove': | ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl' | return ioctl(fd, UBI_IOCVOLRMBLK); | ^ | In file included from ubi-utils/libubi.c:32:0: | .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here | __extern int ioctl(int, int, void *); | ^ Signed-off-by: Andrea Adami Signed-off-by: David Oberhollenzer --- lib/libubi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/libubi.c') diff --git a/lib/libubi.c b/lib/libubi.c index f1cc37a..dcf6337 100644 --- a/lib/libubi.c +++ b/lib/libubi.c @@ -687,7 +687,7 @@ void libubi_close(libubi_t desc) * success and %-1 in case of failure. @r->ubi_num contains newly created UBI * device number. */ -static int do_attach(const char *node, const struct ubi_attach_req *r) +static int do_attach(const char *node, struct ubi_attach_req *r) { int fd, ret; @@ -1086,12 +1086,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes) int ubi_vol_block_create(int fd) { - return ioctl(fd, UBI_IOCVOLCRBLK); + return ioctl(fd, UBI_IOCVOLCRBLK, NULL); } int ubi_vol_block_remove(int fd) { - return ioctl(fd, UBI_IOCVOLRMBLK); + return ioctl(fd, UBI_IOCVOLRMBLK, NULL); } int ubi_update_start(libubi_t desc, int fd, long long bytes) -- cgit v1.2.3