Whitespace cleanup and minor tweak (return -ERRNO instead of ERRNO so
authorRob Landley <rob@landley.net>
Sat, 18 Mar 2006 02:38:10 +0000 (02:38 -0000)
committerRob Landley <rob@landley.net>
Sat, 18 Mar 2006 02:38:10 +0000 (02:38 -0000)
EPERM doesn't register as a successful read-only mount.

libbb/loop.c

index 81dfca4d1ec10d41702e4c34e233d2a8ba19a425..2f9d029248e8e4dbb0aa6dfc26665a4104693888 100644 (file)
@@ -90,23 +90,24 @@ int set_loop(char **device, const char *file, int offset)
        bb_loop_info loopinfo;
        struct stat statbuf;
        int i, dfd, ffd, mode, rc=-1;
-
+       
        /* Open the file.  Barf if this doesn't work.  */
        if((ffd = open(file, mode=O_RDWR))<0 && (ffd = open(file,mode=O_RDONLY))<0)
-               return errno;
+               return -errno;
 
        /* Find a loop device.  */
        try=*device ? : dev;
        for(i=0;rc;i++) {
                sprintf(dev, LOOP_FORMAT, i);
+
                /* Ran out of block devices, return failure.  */
                if(stat(try, &statbuf) || !S_ISBLK(statbuf.st_mode)) {
-                       rc=ENOENT;
+                       rc=-ENOENT;
                        break;
                }
                /* Open the sucker and check its loopiness.  */
                if((dfd=open(try, mode))<0 && errno==EROFS)
-                       dfd=open(try,mode=O_RDONLY);
+                       dfd=open(try, mode = O_RDONLY);
                if(dfd<0) goto try_again;
 
                rc=ioctl(dfd, BB_LOOP_GET_STATUS, &loopinfo);
@@ -120,6 +121,7 @@ int set_loop(char **device, const char *file, int offset)
                        if(!ioctl(dfd, LOOP_SET_FD, ffd) &&
                           !ioctl(dfd, BB_LOOP_SET_STATUS, &loopinfo)) rc=0;
                        else ioctl(dfd, LOOP_CLR_FD, 0);
+
                /* If this block device already set up right, re-use it.
                   (Yes this is racy, but associating two loop devices with the same
                   file isn't pretty either.  In general, mounting the same file twice
@@ -137,12 +139,3 @@ try_again:
                return mode==O_RDONLY ? 1 : 0;
        } else return rc;
 }
-
-/* END CODE */
-/*
-Local Variables:
-c-file-style: "linux"
-c-basic-offset: 4
-tab-width: 4
-End:
-*/