/*
* Mini chgrp implementation for busybox
*
- * Copyright (C) 1999,2000 by Lineo, inc. and Erik Andersen
- * Copyright (C) 1999,2000,2001 by Erik Andersen <andersee@debian.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.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 <unistd.h>
#include "busybox.h"
-/* Don't use lchown for libc5 or glibc older then 2.1.x */
+/* Don't use lchown glibc older then 2.1.x */
#if (__GLIBC__ <= 2) && (__GLIBC_MINOR__ < 1)
#define lchown chown
#endif
long gid;
int recursiveFlag;
int retval = EXIT_SUCCESS;
- char *p;
recursiveFlag = bb_getopt_ulflags(argc, argv, "R");
argv += optind;
/* Find the selected group */
- gid = strtoul(*argv, &p, 10); /* maybe it's already numeric */
- if (*p || (p == *argv)) { /* trailing chars or nonnumeric */
- gid = my_getgrnam(*argv);
- }
+ gid = get_ug_id(*argv, my_getgrnam);
++argv;
/* Ok, ready to do the deed now */
do {
- if (! recursive_action (*argv, recursiveFlag, FALSE, FALSE,
+ if (! recursive_action (*argv, recursiveFlag, FALSE, FALSE,
fileAction, fileAction, &gid)) {
retval = EXIT_FAILURE;
}