bufferlist.c

来自「非常好的dns解析软件」· C语言 代码 · 共 65 行

C
65
字号
/* * Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2001  Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. *//* $Id: bufferlist.c,v 1.13.18.2 2005/04/29 00:16:45 marka Exp $ *//*! \file */#include <config.h>#include <stddef.h>#include <isc/buffer.h>#include <isc/bufferlist.h>#include <isc/util.h>unsigned intisc_bufferlist_usedcount(isc_bufferlist_t *bl) {	isc_buffer_t *buffer;	unsigned int length;	REQUIRE(bl != NULL);	length = 0;	buffer = ISC_LIST_HEAD(*bl);	while (buffer != NULL) {		REQUIRE(ISC_BUFFER_VALID(buffer));		length += isc_buffer_usedlength(buffer);		buffer = ISC_LIST_NEXT(buffer, link);	}	return (length);}unsigned intisc_bufferlist_availablecount(isc_bufferlist_t *bl) {	isc_buffer_t *buffer;	unsigned int length;	REQUIRE(bl != NULL);	length = 0;	buffer = ISC_LIST_HEAD(*bl);	while (buffer != NULL) {		REQUIRE(ISC_BUFFER_VALID(buffer));		length += isc_buffer_availablelength(buffer);		buffer = ISC_LIST_NEXT(buffer, link);	}	return (length);}

⌨️ 快捷键说明

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