[klibc] losetup: fix pointer type warnings

- For arguments which are text strings (and therefore passed to the
  str* functions) make them char, not unsigned char.
- Make gcc happy by casting non-pointer arguments passed as pointers
  to ioctl().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
diff --git a/usr/utils/loop.h b/usr/utils/loop.h
index 9839f57..9abc287 100644
--- a/usr/utils/loop.h
+++ b/usr/utils/loop.h
@@ -42,8 +42,8 @@
 	unsigned int		lo_encrypt_type;
 	unsigned int		lo_encrypt_key_size;
 	unsigned int		lo_flags;
-	unsigned char		lo_file_name[LO_NAME_SIZE];
-	unsigned char		lo_crypt_name[LO_NAME_SIZE];
-	unsigned char		lo_encrypt_key[LO_KEY_SIZE];
+	char			lo_file_name[LO_NAME_SIZE];
+	char			lo_crypt_name[LO_NAME_SIZE];
+	char			lo_encrypt_key[LO_KEY_SIZE];
 	unsigned long long	lo_init[2];
 };
diff --git a/usr/utils/losetup.c b/usr/utils/losetup.c
index e494183..1104fd3 100644
--- a/usr/utils/losetup.c
+++ b/usr/utils/losetup.c
@@ -290,7 +290,7 @@
 		loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE;
 	}
 
-	if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
+	if (ioctl(fd, LOOP_SET_FD, (void *)(size_t)ffd) < 0) {
 		perror("ioctl: LOOP_SET_FD");
 		return 1;
 	}