Another update from Larry:
[oweals/busybox.git] / chown.c
diff --git a/chown.c b/chown.c
index b6059d048286a0f3ac7ae54059177b4568dd0da9..0114033789078b7779ad4e299c5b1aaf061d582f 100644 (file)
--- a/chown.c
+++ b/chown.c
 #include "busybox.h"
 
 /* Don't use lchown for libc5 or glibc older then 2.1.x */
-#if (__GLIBC__ < 2) && (__GLIBC_MINOR__ < 1)
+#if (__GLIBC__ <= 2) && (__GLIBC_MINOR__ < 1)
 #define lchown chown
 #endif
 
-static long uid = -1;
-static long gid = -1;
+static long uid;
+static long gid;
 
 static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
 {
@@ -57,6 +57,7 @@ int chown_main(int argc, char **argv)
                switch (opt) {
                        case 'R':
                                recursiveFlag = TRUE;
+                               break;
                        default:
                                show_usage();
                }
@@ -85,7 +86,7 @@ int chown_main(int argc, char **argv)
        }
 
        /* Ok, ready to do the deed now */
-       while (optind++ < argc) {
+       while (++optind < argc) {
                if (recursive_action (argv[optind], recursiveFlag, FALSE, FALSE, 
                                        fileAction, fileAction, NULL) == FALSE) {
                        return EXIT_FAILURE;