"Fossies" - the Fresh Open Source Software Archive 
Member "schily-2021-09-18/sunpro/Make/lib/vroot/src/chown.cc" (15 Aug 2021, 1830 Bytes) of package /linux/privat/schily-2021-09-18.tar.bz2:
1 /*
2 * CDDL HEADER START
3 *
4 * This file and its contents are supplied under the terms of the
5 * Common Development and Distribution License ("CDDL"), version 1.0.
6 * You may use this file only in accordance with the terms of version
7 * 1.0 of the CDDL.
8 *
9 * A full copy of the text of the CDDL should have accompanied this
10 * source. A copy of the CDDL is also available via the Internet at
11 * http://www.opensource.org/licenses/cddl1.txt
12 * See the License for the specific language governing permissions
13 * and limitations under the License.
14 *
15 * When distributing Covered Code, include this CDDL HEADER in each
16 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17 * If applicable, add the following below this CDDL HEADER, with the
18 * fields enclosed by brackets "[]" replaced with your own identifying
19 * information: Portions Copyright [yyyy] [name of copyright owner]
20 *
21 * CDDL HEADER END
22 */
23 /*
24 * Copyright 1993 Sun Microsystems, Inc. All rights reserved.
25 * Use is subject to license terms.
26 */
27 /*
28 * @(#)chown.cc 1.4 06/12/12
29 */
30
31 #pragma ident "@(#)chown.cc 1.4 06/12/12"
32
33 /*
34 * Copyright 2017 J. Schilling
35 *
36 * @(#)chown.cc 1.3 21/08/16 2017 J. Schilling
37 */
38 #include <schily/mconfig.h>
39 #ifndef lint
40 static UConst char sccsid[] =
41 "@(#)chown.cc 1.3 21/08/16 2017 J. Schilling";
42 #endif
43
44 #include <vroot/vroot.h>
45 #include <vroot/args.h>
46
47 extern int chown(const char *path, uid_t owner, gid_t group);
48
49
50 static int chown_thunk(char *path)
51 {
52 vroot_result= chown(path, vroot_args.chown.user, vroot_args.chown.group);
53 return(vroot_result == 0);
54 }
55
56 int chown_vroot(char *path, int user, int group, pathpt vroot_path, pathpt vroot_vroot)
57 {
58 vroot_args.chown.user= user;
59 vroot_args.chown.group= group;
60 translate_with_thunk(path, chown_thunk, vroot_path, vroot_vroot, rw_read);
61 return(vroot_result);
62 }