"Fossies" - the Fresh Open Source Software Archive 
Member "schily-2021-09-18/sunpro/Make/lib/vroot/src/truncate.cc" (15 Aug 2021, 1921 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 * @(#)truncate.cc 1.4 06/12/12
29 */
30
31 #pragma ident "@(#)truncate.cc 1.4 06/12/12"
32
33 /*
34 * Copyright 2017-2020 J. Schilling
35 *
36 * @(#)truncate.cc 1.5 21/08/15 2017-2020 J. Schilling
37 */
38 #include <schily/mconfig.h>
39 #ifndef lint
40 static UConst char sccsid[] =
41 "@(#)truncate.cc 1.5 21/08/15 2017-2020 J. Schilling";
42 #endif
43
44 #if defined(SCHILY_BUILD) || defined(SCHILY_INCLUDES)
45 #include <schily/unistd.h>
46 #else
47 #include <unistd.h>
48 #endif
49
50 extern int truncate(const char *path, off_t length);
51
52 #include <vroot/vroot.h>
53 #include <vroot/args.h>
54
55 static int truncate_thunk(char *path)
56 {
57 vroot_result= truncate(path, vroot_args.truncate.length);
58 return(vroot_result == 0);
59 }
60
61 int truncate_vroot(char *path, int length, pathpt vroot_path, pathpt vroot_vroot)
62 {
63 vroot_args.truncate.length= length;
64 translate_with_thunk(path, truncate_thunk, vroot_path, vroot_vroot, rw_read);
65 return(vroot_result);
66 }