亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? htmemory.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
字號:
/*							       	     HTMemory.c**	DYNAMIC MEMORY MANAGER****	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.**	@(#) $Id: HTMemory.c,v 2.10 1999/02/22 22:10:11 frystyk Exp $**** History:**	 8 Feb 95	Written by Eric and Henrik*//* Library include files */#include "wwwsys.h"#include "HTUtils.h"#include "HTList.h"#include "HTMemory.h"					 /* Implemented here */PRIVATE HTList * HTMemCall = NULL;		    /* List of memory freers */PRIVATE HTMemory_exitCallback * PExit = NULL;	  /* panic and exit function */PRIVATE size_t LastAllocSize = 0;		  /* size of last allocation */ /* ------------------------------------------------------------------------- *//*	HTMemoryCall_add**	----------------**	Register a call back function that is to be called if we need more**	memory. Several call back functions can be registered in which case**	all of them are called in the order of which they were registered.*/PUBLIC BOOL HTMemoryCall_add (HTMemoryCallback * cbf){    HTTRACE(MEM_TRACE, "Mem Add..... Callback %p\n" _ (void *) cbf);    if (!HTMemCall) HTMemCall = HTList_new();    return cbf ? HTList_addObject(HTMemCall, (void *) cbf) : NO;}/*	HTMemoryCall_delete**	-------------------**	Unregister a call back function from a list*/PUBLIC BOOL HTMemoryCall_delete (HTMemoryCallback * cbf){    HTTRACE(MEM_TRACE, "Mem Delete.. Callback %p\n" _ (void *) cbf);    return (HTMemCall && cbf) ? HTList_removeObject(HTMemCall,(void*)cbf) : NO;}/*	HTMemoryCall_deleteAll**	----------------------**	Unregisters all call back functions*/PUBLIC BOOL HTMemoryCall_deleteAll (void){    HTTRACE(MEM_TRACE, "Mem Delete.. All Callback functions\n");    if (HTMemCall) {	HTList_delete(HTMemCall);	HTMemCall = NULL;	return YES;    }    return NO;}/***	Allocates memory using malloc*/PUBLIC void * HTMemory_malloc (size_t size){    void * ptr;    ptr = malloc(LastAllocSize = size);    if (ptr != NULL) return ptr;    if (HTMemCall) {	HTMemoryCallback * pres;	while ((pres = (HTMemoryCallback *) HTList_nextObject(HTMemCall))) {	    HTTRACE(MEM_TRACE, "Mem Calling. %p (size %d)\n" _ (void*)pres _ size);	    (*pres)(size);	    if ((ptr = malloc(size)) != NULL) return ptr;	}    }    HTTRACE(MEM_TRACE, "Memory.... Couldn't allocate %d bytes\n" _ size);    return NULL;}/***	Allocates memory using calloc*/PUBLIC void * HTMemory_calloc (size_t nobj, size_t size){    void * ptr;    ptr = calloc(nobj, LastAllocSize = size);    if (ptr != NULL) return ptr;    if (HTMemCall) {	HTMemoryCallback * pres;	size_t total = size * nobj;	while ((pres = (HTMemoryCallback *) HTList_nextObject(HTMemCall))) {	    HTTRACE(MEM_TRACE, "Mem Calling. %p (size %d)\n" _ 				   (void *) pres _ total);	    (*pres)(total);	    if ((ptr = calloc(nobj, size)) != NULL) return ptr;	}    }    HTTRACE(MEM_TRACE, "Memory...... Couldn't allocate %d objects of size %d\n" _ 		 nobj _ size);    return NULL;}/***	Reallocates memory using realloc*/PUBLIC void * HTMemory_realloc (void * p, size_t size){    void * ptr;    ptr = realloc(p, LastAllocSize = size);    if (ptr != NULL) return ptr;    if (HTMemCall) {	HTMemoryCallback * pres;	while ((pres = (HTMemoryCallback *) HTList_nextObject(HTMemCall))) {	    HTTRACE(MEM_TRACE, "Mem Calling. %p (size %d)\n" _ (void*)pres _ size);	    (*pres)(size);	    if ((ptr = realloc(p, size)) != NULL) return ptr;	}    }    HTTRACE(MEM_TRACE, "Memory...... Couldn't reallocate %d bytes\n" _ size);    return NULL;}/***	Frees memory*/PUBLIC void HTMemory_free (void * ptr){    if (ptr) {	HTTRACE(MEM_TRACE, "Memory Free. %p\n" _ ptr);	free(ptr);    }}/*	HTMemory_setExit**	----------------**	Register the memory exit function. This function notifies the user that**	it is all over. If this function returns or is undefined, **	HTMemory_outofmem calls abort.*/PUBLIC void HTMemory_setExit (HTMemory_exitCallback * pExit){    PExit = pExit;}/*	HTMemory_exit**	-------------**	Get the current exit function.*/PUBLIC HTMemory_exitCallback * HTMemory_exit (void){    return PExit;}/*	HTMemory_outofmem**	-----------------**	Call app defined exit function. If that returns, exit anyway.*/PUBLIC void HTMemory_outofmem (char * name, char * file, unsigned long line){    if (PExit)	(*PExit)(name, file, line);    HTTRACE(ALL_TRACE, "%s:%ld failed allocation for \"%s\" (%ld bytes).\nProgram aborted.\n" _	    file _ line _ name _ LastAllocSize);    abort();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产乱| 欧美国产成人在线| 国产成人亚洲综合a∨婷婷图片| 国产精品欧美久久久久无广告 | 99久久国产综合精品女不卡| 午夜欧美电影在线观看| 国产精品天美传媒| 日韩欧美一区二区不卡| 日本国产一区二区| 国产91精品一区二区| 日韩黄色片在线观看| 亚洲私人黄色宅男| 久久一区二区三区四区| 欧美精品 日韩| 91免费观看视频| 国产成人精品综合在线观看| 免费观看日韩av| 亚洲一区二区影院| 日韩美女精品在线| 中文字幕成人在线观看| 精品处破学生在线二十三| 在线不卡中文字幕播放| 91搞黄在线观看| 波多野洁衣一区| 国产成人精品一区二区三区四区 | 国产91精品一区二区麻豆网站| 亚洲精选视频在线| 国产午夜精品美女毛片视频| 精品日韩一区二区三区| 欧美日韩高清影院| 欧美日韩在线播放| 国产一区不卡视频| www.亚洲免费av| 欧美精品乱码久久久久久| 精品久久久久99| 国产精品视频在线看| 一区二区三区日韩精品视频| 蜜臀久久久99精品久久久久久| 国产一区二区导航在线播放| www.日韩大片| 91精品蜜臀在线一区尤物| 精品国产乱码久久久久久图片| 欧美国产精品一区| 性欧美疯狂xxxxbbbb| 国产乱人伦偷精品视频不卡| 91浏览器入口在线观看| 欧美一区二区三区视频在线| 欧美国产激情一区二区三区蜜月| 亚洲一区二区成人在线观看| 国精品**一区二区三区在线蜜桃| 91在线免费视频观看| 日韩亚洲国产中文字幕欧美| 亚洲欧洲日本在线| 精品一区二区在线免费观看| 色综合天天狠狠| 精品国产一区二区三区久久久蜜月 | 国产精品嫩草影院com| 亚洲电影一级片| 成人午夜在线免费| 欧美日本国产视频| 国产精品狼人久久影院观看方式| 亚欧色一区w666天堂| 99久久婷婷国产| 精品国精品国产尤物美女| 一区二区三区毛片| 国产91丝袜在线播放| 欧美一级久久久久久久大片| 亚洲黄色av一区| 粉嫩av一区二区三区在线播放| 欧美绝品在线观看成人午夜影视| 国产精品国产a级| 激情六月婷婷综合| 69久久99精品久久久久婷婷| 亚洲美女屁股眼交| 国产91丝袜在线18| 精品国产乱码久久久久久久久| 亚洲va天堂va国产va久| av在线免费不卡| 久久综合色婷婷| 日韩电影免费在线看| 在线看一区二区| 国产精品久99| 国产精品小仙女| 欧美成人精品福利| 免费高清视频精品| 欧美日韩国产精品自在自线| 亚洲六月丁香色婷婷综合久久| 国产成人精品午夜视频免费| 精品免费国产一区二区三区四区| 亚洲不卡在线观看| 一本大道综合伊人精品热热| 国产精品大尺度| 成人午夜看片网址| 国产精品欧美一区喷水| 国产91在线|亚洲| 久久久久99精品一区| 九九精品视频在线看| 精品国产凹凸成av人导航| 日韩av中文字幕一区二区三区| 色综合久久综合中文综合网| 亚洲人成7777| 色猫猫国产区一区二在线视频| 中文字幕中文字幕在线一区 | 美女网站在线免费欧美精品| 欧美一区二区三区在线| 五月天国产精品| 欧美二区三区91| 琪琪一区二区三区| 欧美一区二区三区在线看| 美腿丝袜亚洲综合| 久久精品亚洲乱码伦伦中文| 国产91精品精华液一区二区三区| 国产蜜臀97一区二区三区| 成人综合在线观看| 国产精品乱码久久久久久| 99久久精品免费看| 一区二区三区在线视频观看 | 精品国产亚洲在线| 国产精一品亚洲二区在线视频| 久久久久久日产精品| 成人自拍视频在线观看| 国产精品免费人成网站| 91麻豆国产自产在线观看| 亚洲一区免费观看| 日韩欧美电影一区| 国产成人日日夜夜| 亚洲精品亚洲人成人网| 欧美日韩一区不卡| 久久精品国产秦先生| 国产视频亚洲色图| 色视频成人在线观看免| 天天av天天翘天天综合网色鬼国产| 欧美精品亚洲二区| 韩国在线一区二区| 亚洲欧美日韩久久精品| 欧美日韩和欧美的一区二区| 国产最新精品精品你懂的| 国产精品高清亚洲| 欧美日韩精品系列| 国产麻豆视频一区二区| 椎名由奈av一区二区三区| 欧美剧在线免费观看网站| 国产成人h网站| 亚洲在线一区二区三区| 精品精品国产高清a毛片牛牛| 成年人国产精品| 日韩成人午夜精品| 国产精品日日摸夜夜摸av| 欧美三级三级三级爽爽爽| 国产乱子轮精品视频| 尤物av一区二区| 精品国产一区二区精华| 欧美综合亚洲图片综合区| 久久精品99久久久| 一区二区三区四区蜜桃| 久久夜色精品国产噜噜av| 一本色道久久综合亚洲91| 久久超碰97人人做人人爱| 亚洲人吸女人奶水| 精品国产一区二区三区四区四| 在线亚洲免费视频| 国产成人精品一区二区三区四区| 亚洲国产精品一区二区久久 | 亚洲自拍另类综合| 欧美高清在线视频| 欧美一区二区三区婷婷月色| 一本到三区不卡视频| 国产黄色精品视频| 日本午夜精品一区二区三区电影| 中文久久乱码一区二区| 日韩欧美黄色影院| 欧美色涩在线第一页| 国产成人av一区二区三区在线观看| 午夜国产精品一区| 亚洲精品日日夜夜| 国产精品国产三级国产普通话99| 欧美大度的电影原声| 欧美性生活影院| 972aa.com艺术欧美| 国产成人在线影院 | 在线综合亚洲欧美在线视频| 91视频xxxx| 福利电影一区二区三区| 麻豆免费精品视频| 午夜日韩在线电影| 亚洲最大成人网4388xx| 亚洲欧洲性图库| 久久久精品黄色| 精品国产一区二区三区不卡 | 欧美一级视频精品观看| 欧美性大战久久久久久久蜜臀| av电影天堂一区二区在线| 国产精品中文字幕日韩精品| 欧美aaaaa成人免费观看视频| 亚洲观看高清完整版在线观看 | 国产一区二区在线影院| 免费一级欧美片在线观看| 午夜精品福利一区二区蜜股av| 亚洲电影第三页| 天堂成人国产精品一区|