os_truncate.c

来自「这是国外的resip协议栈」· C语言 代码 · 共 59 行

C
59
字号
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2004 *	Sleepycat Software.  All rights reserved. * * $Id: os_truncate.c,v 11.7 2004/09/17 22:00:31 mjc Exp $ */#include "db_config.h"#ifndef NO_SYSTEM_INCLUDES#include <sys/types.h>#include <string.h>#include <unistd.h>#endif#include "db_int.h"/* * __os_truncate -- *	Truncate the file. * * PUBLIC: int __os_truncate __P((DB_ENV *, DB_FH *, db_pgno_t, u_int32_t)); */int__os_truncate(dbenv, fhp, pgno, pgsize)	DB_ENV *dbenv;	DB_FH *fhp;	db_pgno_t pgno;	u_int32_t pgsize;{	off_t offset;	int ret;	/*	 * Truncate a file so that "pgno" is discarded from the end of the	 * file.	 */	offset = (off_t)pgsize * pgno;	if (DB_GLOBAL(j_ftruncate) != NULL)		ret = DB_GLOBAL(j_ftruncate)(fhp->fd, offset);	else {#ifdef HAVE_FTRUNCATE		RETRY_CHK((ftruncate(fhp->fd, offset)), ret);#else		ret = DB_OPNOTSUP;#endif	}	if (ret != 0)		__db_err(dbenv,		    "ftruncate: %lu: %s", (u_long)offset, strerror(ret));	return (ret);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?