* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 2005 by Rob Landley <rob@landley.net>
*
- * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
*/
#include "libbb.h"
#include <linux/version.h>
fd = open(device, O_RDONLY);
if (fd >= 0) {
if (ioctl(fd, BB_LOOP_GET_STATUS, &loopinfo) == 0) {
- dev = xasprintf("%lu %s", (long) loopinfo.lo_offset,
+ dev = xasprintf("%"OFF_FMT"u %s", (off_t) loopinfo.lo_offset,
(char *)loopinfo.lo_file_name);
}
close(fd);
/* Find a loop device. */
try = *device ? *device : dev;
- for (i = 0; rc && i < 256; i++) {
+ /* 1048575 is a max possible minor number in Linux circa 2010 */
+ for (i = 0; rc && i < 1048576; i++) {
sprintf(dev, LOOP_FORMAT, i);
IF_FEATURE_MOUNT_LOOP_CREATE(errno = 0;)