chgrp.c 766 B

123456789101112131415161718192021222324252627282930
  1. /* vi: set sw=4 ts=4: */
  2. /*
  3. * Mini chgrp implementation for busybox
  4. *
  5. * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  6. *
  7. * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  8. */
  9. /* BB_AUDIT SUSv3 defects - unsupported options -H, -L, and -P. */
  10. /* BB_AUDIT GNU defects - unsupported long options. */
  11. /* http://www.opengroup.org/onlinepubs/007904975/utilities/chgrp.html */
  12. #include "busybox.h"
  13. /* FIXME - move to .h */
  14. extern int chown_main(int argc, char **argv);
  15. int chgrp_main(int argc, char **argv)
  16. {
  17. /* "chgrp [opts] abc file(s)" == "chown [opts] :abc file(s)" */
  18. char **p = argv;
  19. while (*++p) {
  20. if (p[0][0] != '-') {
  21. p[0] = xasprintf(":%s", p[0]);
  22. break;
  23. }
  24. }
  25. return chown_main(argc, argv);
  26. }