* Version 6.0-cvs.
+ * src/chown-core.c (RC_do_ordinary_chown): New enum value.
+ (restricted_chown): Return it, if the file cannot be accessed due
+ to EPERM, or if no uid or gid are required, or if the file is
+ neither a directory nor a regular file. Rewrite to avoid gotos.
+ (change_file_owner): Handle RC_do_ordinary_chown case.
+ Rewrite to avoid gotos.
+ * tests/chgrp/basic: Make sure we can change the group of
+ inaccessible files.
+
* src/date.c (usage): Explain %g, %G, and %V a bit better.
2006-01-02 Jim Meyering <jim@meyering.net>
chgrp -R $g2 symlink
chown --from=:$g1 -c :$g2 f
+ # Make sure we can change the group of inaccessible files.
+ chmod a-r f
+ chown --from=:$g2 -c :$g1 f
+ chmod 0 f
+ chown --from=:$g1 -c :$g2 f
+
# chown() must not be optimized away even when
# the file's owner and group already have the desired value.
+ rm -f f g
touch f g
chgrp $g1 f g
chgrp $g2 g
changed group of `symlink' to G1
changed ownership of `f' to :G2
changed ownership of `f' to :G2
+changed ownership of `f' to :G1
+changed ownership of `f' to :G2
f
g
EOF