/* vi: set sw=4 ts=4: */
/*
- * Mini chown/chmod/chgrp implementation for busybox
+ * Mini chgrp implementation for busybox
*
- *
- * Copyright (C) 1999,2000,2001 by Lineo, inc.
- * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+ * Copyright (C) 1999,2000 by Lineo, inc. and Erik Andersen
+ * Copyright (C) 1999,2000,2001 by Erik Andersen <andersee@debian.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <string.h>
#include <unistd.h>
#include "busybox.h"
-#define BB_DECLARE_EXTERN
-#define bb_need_invalid_option
-#define bb_need_too_few_args
-#include "messages.c"
/* 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 gid = -1;
+static long gid;
static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
{
switch (opt) {
case 'R':
recursiveFlag = TRUE;
+ break;
default:
show_usage();
}
}
/* Ok, ready to do the deed now */
- while (optind++ < argc) {
- if (recursive_action (argv[optind], recursiveFlag, FALSE, FALSE,
- fileAction, fileAction, NULL) == FALSE) {
+ while (++optind < argc) {
+ if (! recursive_action (argv[optind], recursiveFlag, FALSE, FALSE,
+ fileAction, fileAction, NULL)) {
return EXIT_FAILURE;
}
}