chgrp.c 767 B

12345678910111213141516171819202122232425262728293031
  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 source tree.
  8. */
  9. /* BB_AUDIT SUSv3 defects - none? */
  10. /* BB_AUDIT GNU defects - unsupported long options. */
  11. /* http://www.opengroup.org/onlinepubs/007904975/utilities/chgrp.html */
  12. #include "libbb.h"
  13. /* This is a NOEXEC applet. Be very careful! */
  14. int chgrp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  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. }