with 2.4 kernel headers, lo_file_name is char, but with 2.6

headers we get a u8 for lo_file_name, so always cast to (char *)
when treating it as such.
This commit is contained in:
Eric Andersen 2006-01-30 17:30:22 +00:00
parent f55289f4b9
commit 76b24270d4

View File

@ -60,7 +60,7 @@ char *query_loop(const char *device)
if ((fd = open(device, O_RDONLY)) < 0) return 0; if ((fd = open(device, O_RDONLY)) < 0) return 0;
if (!ioctl(fd, BB_LOOP_GET_STATUS, &loopinfo)) if (!ioctl(fd, BB_LOOP_GET_STATUS, &loopinfo))
dev=bb_xasprintf("%ld %s", (long) loopinfo.lo_offset, dev=bb_xasprintf("%ld %s", (long) loopinfo.lo_offset,
loopinfo.lo_file_name); (char *)loopinfo.lo_file_name);
close(fd); close(fd);
return dev; return dev;
@ -114,7 +114,7 @@ int set_loop(char **device, const char *file, int offset)
/* If device free, claim it. */ /* If device free, claim it. */
if(rc && errno==ENXIO) { if(rc && errno==ENXIO) {
memset(&loopinfo, 0, sizeof(loopinfo)); memset(&loopinfo, 0, sizeof(loopinfo));
safe_strncpy(loopinfo.lo_file_name, file, LO_NAME_SIZE); safe_strncpy((char *)loopinfo.lo_file_name, file, LO_NAME_SIZE);
loopinfo.lo_offset = offset; loopinfo.lo_offset = offset;
/* Associate free loop device with file. */ /* Associate free loop device with file. */
if(!ioctl(dfd, LOOP_SET_FD, ffd) && if(!ioctl(dfd, LOOP_SET_FD, ffd) &&
@ -125,7 +125,7 @@ int set_loop(char **device, const char *file, int offset)
file isn't pretty either. In general, mounting the same file twice file isn't pretty either. In general, mounting the same file twice
without using losetup manually is problematic.) without using losetup manually is problematic.)
*/ */
} else if(strcmp(file,loopinfo.lo_file_name) } else if(strcmp(file,(char *)loopinfo.lo_file_name)
|| offset!=loopinfo.lo_offset) rc=-1; || offset!=loopinfo.lo_offset) rc=-1;
close(dfd); close(dfd);
try_again: try_again: