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

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

?? htreg.cc

?? 功能較全面的反匯編器:反匯編器ht-2.0.15.tar.gz
?? CC
?? 第 1 頁 / 共 3 頁
字號:
	rec_depth = 0;	ht_registry_node *n = find_entry_i(NULL, key, follow_symlinks);	if (n) {		if (n->type == RNT_SUBDIR) return false;		*node = n;		return true;	}	return false;}ht_registry_node *ht_registry::find_entry_i(Container **rdir, const char *key, bool follow_symlinks){	ht_registry_node *dir = root;	char *s;	char t[256]; /* FIXME: possible buffer overflow */	if (key[0]=='/') key++;	while (1) {		s = strchr(key, '/');		if (s) {			ht_strlcpy(t, key, s-key+1);			dir = find_entry_get_subdir(((ht_registry_data_stree*)dir->data)->tree, t);			if (!dir) break;			key = s+1;		} else {			ht_registry_node *n;			if (*key==0) {				n = dir;			} else {				n = find_entry_get_data(((ht_registry_data_stree*)dir->data)->tree, key, follow_symlinks);			}			if (rdir) *rdir=((ht_registry_data_stree*)dir->data)->tree;			return n;		}	}	return NULL;}ht_registry_node *ht_registry::find_entry_get_node(Container *dir, const char *nodename){	if (nodename) {		ht_registry_node t(0, nodename, NULL);		ht_registry_node *n=(ht_registry_node*)dir->get(dir->find(&t));		return n;	}	return NULL;}ht_registry_node *ht_registry::find_entry_get_subdir(Container *dir, const char *nodename){	ht_registry_node *n=find_entry_get_node(dir, nodename);start:	if (!n) return 0;	switch (n->type) {		case RNT_SYMLINK: {			rec_depth++;			if (rec_depth > MAX_SYMLINK_REC_DEPTH) return 0;			char *sl=((ht_registry_data_string*)n->data)->value;			if (sl[0] == '/') {				n = find_entry_i(NULL, sl, true);				goto start;			} else {				return find_entry_get_subdir(dir, sl);			}		}		case RNT_SUBDIR:			return n;	}	return 0;}ht_registry_node *ht_registry::find_entry_get_data(Container *dir, const char *nodename, bool follow_symlinks){	ht_registry_node *n = find_entry_get_node(dir, nodename);start:	if (!n) return NULL;	if (follow_symlinks && n->type == RNT_SYMLINK) {		rec_depth++;		if (rec_depth > MAX_SYMLINK_REC_DEPTH) return NULL;		char *sl = ((ht_registry_data_string*)n->data)->value;		if (sl[0] == '/') {			n = find_entry_i(NULL, sl, true);			goto start;		} else {			return find_entry_get_data(dir, sl, follow_symlinks);		}	}	return n;}ht_registry_node_type ht_registry::have_node_type(const char *identifier, create_empty_registry_data_func create_empty_registry_data){	ht_registry_node_type t=lookup_node_type(identifier);	if (!t) t=register_node_type(identifier, create_empty_registry_data);	return t;}void ht_registry::load(ObjectStream &f){	GET_OBJECT(f, node_types);	GET_OBJECT(f, root);}ht_registry_node_type_desc *ht_registry::get_node_type_desc(ht_registry_node_type t, const char **identifier){	ht_registry_node_type_desc *data = NULL;	firstThat(ht_registry_node_type_desc, data, *node_types, t == data->type);	if (data && identifier) *identifier = data->name;	return data;}ht_registry_node_type ht_registry::lookup_node_type(const char *identifier){	ht_registry_node_type_desc s(0, identifier, NULL);	ht_registry_node_type_desc *d=(ht_registry_node_type_desc*)node_types->get(node_types->find(&s));	return d ? d->type : 0;}ObjectID ht_registry::getObjectID() const{	return ATOM_HT_REGISTRY;}ht_registry_node_type ht_registry::register_node_type(const char *identifier, create_empty_registry_data_func create_empty_registry_data){//	ht_registry_node_type t = RNT_USER;	ht_registry_node_type t = 0;	ht_registry_node_type_desc *nt = NULL;	do {		t++;		firstThat(ht_registry_node_type_desc, nt, *node_types, t == nt->type);	} while (nt != NULL);	ht_registry_node_type_desc *v = new ht_registry_node_type_desc(t, 		identifier, create_empty_registry_data);	if (node_types->find(v) != invObjHandle) {		delete v;		return RNT_INVALID;	} else {		node_types->insert(v);		return t;	}}int ht_registry::set_dword(const char *key, uint32 d){	return set_node(key, RNT_DWORD, new ht_registry_data_dword(d));}int ht_registry::set_raw(const char *key, const void *data, uint size){	return set_node(key, RNT_RAW, new ht_registry_data_raw(data, size));}int ht_registry::set_node(const char *key, ht_registry_node_type type, ht_registry_data *data){	ht_registry_node *n = find_entry_i(NULL, key, false);	if (!n) return ENOENT;	if (n->type == type) {		if (n->data) {			n->data->done();			delete n->data;		}		n->data = data;		return 0;	}	return EPERM;}int ht_registry::set_string(const char *key, const char *string){	return set_node(key, RNT_STRING, new ht_registry_data_string(string));}int ht_registry::set_symlink(const char *key, const char *dest){	return set_node(key, RNT_SYMLINK, new ht_registry_data_string(dest));}bool ht_registry::splitfind(const char *key, const char **name, ht_registry_node **node){	char dir[256]; /* FIXME: possible buffer overflow */	const char *n = strrchr(key, '/');	if (n) {		ht_strlcpy(dir, key, n-key+1);		n++;	} else {		dir[0]=0;		n=key;	}	ht_registry_node *m = find_entry_i(NULL, dir, true);	if (!m) return 0;	if (m->type != RNT_SUBDIR) return 0;	*node = m;	*name = n;	return 1;}void ht_registry::store(ObjectStream &f) const{	PUT_OBJECT(f, node_types);	PUT_OBJECT(f, root);}unsigned char valid_nodename_chars[256/8]={/* 00, 08, 10, 18 */	0, 0, 0, 0,/* 20, 28, 30, 38 *//* space '-' 0-9 '&' ':' '.' */	BITMAP(1, 0, 0, 0, 0, 0, 1, 0), BITMAP(0, 0, 0, 0, 0, 1, 1, 0),	BITMAP(1, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 0, 0, 0, 0, 0),/* 40, 48, 50, 58 *//* A-Z '_' */	BITMAP(0, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 1, 1, 1, 1, 1),	BITMAP(1, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 0, 0, 0, 0, 1),/* 60, 68, 70, 78 *//* a-z */	BITMAP(0, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 1, 1, 1, 1, 1),	BITMAP(1, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 0, 0, 0, 0, 0),/* 80, 88, 90, 98 */	0, 0, 0, 0,/* a0, a8, b0, b8 */	0, 0, 0, 0,/* c0, c8, d0, d8 */	0, 0, 0, 0,/* e0, e8, f0, f8 */	0, 0, 0, 0};unsigned char valid_nodename_chars_first[256/8]={/* 00, 08, 10, 18 */	0, 0, 0, 0,/* 20, 28, 30, 38 *//* '.' '-' 0-9 */	BITMAP(0, 0, 0, 0, 0, 0, 1, 0), BITMAP(0, 0, 0, 0, 0, 1, 1, 0),	BITMAP(1, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 0, 0, 0, 0, 0, 0),/* 40, 48, 50, 58 *//* A-Z '_' */	BITMAP(0, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 1, 1, 1, 1, 1),	BITMAP(1, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 0, 0, 0, 0, 1),/* 60, 68, 70, 78 *//* a-z */	BITMAP(0, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 1, 1, 1, 1, 1),	BITMAP(1, 1, 1, 1, 1, 1, 1, 1), BITMAP(1, 1, 1, 0, 0, 0, 0, 0),/* 80, 88, 90, 98 */	0, 0, 0, 0,/* a0, a8, b0, b8 */	0, 0, 0, 0,/* c0, c8, d0, d8 */	0, 0, 0, 0,/* e0, e8, f0, f8 */	0, 0, 0, 0};static bool valid_char(unsigned char *bitmap, char c){	int o=c/8;	int p=c%8;	return BITBIT(bitmap[o], p);}bool ht_registry::valid_nodename(const char *nodename){	if ((strcmp(nodename, "..")==0) || (strcmp(nodename, ".")==0)) {		return false;	}	if (!valid_char(valid_nodename_chars_first, *nodename)) return false;	nodename++;	while (*nodename) {		if (!valid_char(valid_nodename_chars, *nodename)) return false;		nodename++;	}	return true;}uint32 get_config_dword(const char *ident){	char e[HT_NAME_MAX], *ee = e;	strcpy(ee, "/config/"); ee += strlen(ee);	ht_strlcpy(ee, ident, sizeof (e) - (ee-e) + 1);	ht_registry_node *n;	if (registry->find_data_entry(e, &n, true)) {		if (n->type == RNT_DWORD) {			ht_registry_data_dword *s = (ht_registry_data_dword *)n->data;			return s->value;		} else {			const char *q = "?";			registry->get_node_type_desc(n->type, &q);			LOG_EX(LOG_ERROR, "registry key '%s' not of type %s, but: %s", e, "dword", q);		}	} else LOG_EX(LOG_ERROR, "registry key '%s' not found", e);	return 0;}char *get_config_string(const char *ident){	char e[HT_NAME_MAX], *ee = e;	strcpy(ee, "/config/"); ee += strlen(ee);	ht_strlcpy(ee, ident, sizeof (e) - (ee-e) + 1);	ht_registry_node *n;	if (registry->find_data_entry(e, &n, true)) {		if (n->type == RNT_STRING) {			ht_registry_data_string *s = (ht_registry_data_string *)n->data;			return ht_strdup(s->value);		} else {			const char *q = "?";			registry->get_node_type_desc(n->type, &q);			LOG_EX(LOG_ERROR, "registry key '%s' not of type %s, but: %s", e, "string", q);		}	} else LOG_EX(LOG_ERROR, "registry key '%s' not found", e);	return NULL;}BUILDER(ATOM_HT_REGISTRY, ht_registry, Object);BUILDER(ATOM_HT_REGISTRY_NODE, ht_registry_node, Object);BUILDER(ATOM_HT_REGISTRY_DATA_STREE, ht_registry_data_stree, ht_registry_data);BUILDER(ATOM_HT_REGISTRY_DATA_DWORD, ht_registry_data_dword, ht_registry_data);BUILDER(ATOM_HT_REGISTRY_DATA_RAW, ht_registry_data_raw, ht_registry_data);BUILDER(ATOM_HT_REGISTRY_DATA_STRING, ht_registry_data_string, ht_registry_data);BUILDER(ATOM_HT_REGISTRY_NODE_TYPE_DESC, ht_registry_node_type_desc, Object);	/* *	INIT */#include "cstream.h"bool init_registry(){	REGISTER(ATOM_HT_REGISTRY, ht_registry);	REGISTER(ATOM_HT_REGISTRY_NODE, ht_registry_node);	REGISTER(ATOM_HT_REGISTRY_DATA_STREE, ht_registry_data_stree);	REGISTER(ATOM_HT_REGISTRY_DATA_DWORD, ht_registry_data_dword);	REGISTER(ATOM_HT_REGISTRY_DATA_RAW, ht_registry_data_raw);	REGISTER(ATOM_HT_REGISTRY_DATA_STRING, ht_registry_data_string);	REGISTER(ATOM_HT_REGISTRY_NODE_TYPE_DESC, ht_registry_node_type_desc);//	registerAtom(ATOM_HT_CREATE_EMPTY_SUBDIR, (void*));	registerAtom(ATOM_HT_CREATE_EMPTY_SYMLINK, (void*)create_empty_symlink);	registerAtom(ATOM_HT_CREATE_EMPTY_DWORD, (void*)create_empty_dword);	registerAtom(ATOM_HT_CREATE_EMPTY_STRING, (void*)create_empty_string);	registerAtom(ATOM_HT_CREATE_EMPTY_RAW, (void*)create_empty_raw);	/*	 *	load default registry	 */	ConstMemMapFile f(default_reg, sizeof default_reg);	CompressedStream c(&f, false);	ObjectStreamBin o(&c, false);	GET_OBJECT(o, registry);//	registry = new ht_registry;//	registry->init();	return true;}/* *	DONE */void done_registry(){	UNREGISTER(ATOM_HT_REGISTRY, ht_registry);	UNREGISTER(ATOM_HT_REGISTRY_NODE, ht_registry_node);	UNREGISTER(ATOM_HT_REGISTRY_DATA_STREE, ht_registry_data_stree);	UNREGISTER(ATOM_HT_REGISTRY_DATA_DWORD, ht_registry_data_dword);	UNREGISTER(ATOM_HT_REGISTRY_DATA_RAW, ht_registry_data_raw);	UNREGISTER(ATOM_HT_REGISTRY_DATA_STRING, ht_registry_data_string);	UNREGISTER(ATOM_HT_REGISTRY_NODE_TYPE_DESC, ht_registry_node_type_desc);//	unregisterAtom(ATOM_HT_CREATE_EMPTY_SUBDIR);	unregisterAtom(ATOM_HT_CREATE_EMPTY_SYMLINK);	unregisterAtom(ATOM_HT_CREATE_EMPTY_DWORD);	unregisterAtom(ATOM_HT_CREATE_EMPTY_STRING);	unregisterAtom(ATOM_HT_CREATE_EMPTY_RAW);		registry->done();	delete registry;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合| 7777精品伊人久久久大香线蕉超级流畅 | 久久一二三国产| av高清久久久| 美女一区二区在线观看| 中文字幕一区二区三区四区不卡| 7777女厕盗摄久久久| 91网站在线观看视频| 久久精品国产亚洲一区二区三区| 日韩一区在线看| 久久综合色8888| 91精品麻豆日日躁夜夜躁| av在线免费不卡| 国产一区二区在线影院| 日本不卡视频在线| 亚洲国产成人porn| 亚洲精品高清在线观看| 久久精品欧美日韩精品| 日韩视频一区二区| 欧美一区二区啪啪| 欧美精品在线视频| 在线观看一区二区视频| 91农村精品一区二区在线| 成人午夜免费电影| 国产98色在线|日韩| 国产精品18久久久久久久久| 精品一区二区国语对白| 蜜臀国产一区二区三区在线播放 | 久久夜色精品国产噜噜av| 日韩一二三区不卡| 91精品国产综合久久久久| 欧美无人高清视频在线观看| 91麻豆精品一区二区三区| 99久久免费视频.com| 99精品国产91久久久久久| 成人黄色一级视频| 北岛玲一区二区三区四区| 成人一区在线观看| 不卡免费追剧大全电视剧网站| 国产v日产∨综合v精品视频| 国产精品一区在线观看乱码| 高清不卡一区二区在线| 不卡区在线中文字幕| 91视频一区二区| 在线免费一区三区| 欧美日韩激情一区二区| 日韩亚洲欧美高清| 精品久久久久一区二区国产| 久久亚洲精精品中文字幕早川悠里| 精品999久久久| 国产欧美日产一区| 国产精品久久福利| 一区二区三区在线免费| 亚洲国产精品久久人人爱蜜臀 | 成人精品一区二区三区四区| av激情亚洲男人天堂| 欧美性色欧美a在线播放| 欧美片网站yy| 欧美精品一区二区久久婷婷| 国产亚洲一二三区| 亚洲精品一二三| 水野朝阳av一区二区三区| 青草av.久久免费一区| 国产一区二区三区四区五区入口| 成人激情小说网站| 欧美日韩精品一区二区天天拍小说| 色偷偷一区二区三区| 欧美日韩综合不卡| 精品久久久久久综合日本欧美 | 午夜精品久久久久久久99水蜜桃 | 丝袜美腿亚洲一区二区图片| 久久精品国产亚洲一区二区三区| 国产成人免费视| 91在线视频官网| 日韩欧美色综合| 中文字幕亚洲在| 免费成人在线网站| 成人精品免费看| 欧美少妇bbb| 国产三级欧美三级日产三级99| 亚洲精品中文在线| 久久精品国产网站| 色婷婷av一区二区| 精品国产免费久久| 亚洲六月丁香色婷婷综合久久 | 成人精品免费看| 欧美一二三四区在线| 日韩一区在线播放| 久久99国产精品久久99| 日本黄色一区二区| 精品处破学生在线二十三| 一区二区三区小说| 国产一区二区三区四区在线观看 | 国产午夜精品久久| 午夜久久久影院| 97久久精品人人做人人爽50路| 日韩欧美色综合| 欧美激情中文字幕一区二区| 亚洲国产aⅴ天堂久久| 丰满白嫩尤物一区二区| 日韩一区日韩二区| 日本欧美在线看| 欧美丝袜自拍制服另类| 国产人成亚洲第一网站在线播放 | 欧美乱熟臀69xxxxxx| 欧美大胆一级视频| 国产自产v一区二区三区c| 国产一区不卡在线| 日本韩国精品在线| 337p粉嫩大胆噜噜噜噜噜91av | 岛国精品一区二区| 欧美tickling网站挠脚心| 亚洲一区二区三区四区五区黄 | 亚洲欧洲精品一区二区三区| 国产在线视频不卡二| 欧美一区二区在线播放| 亚洲成人777| 在线亚洲一区二区| 《视频一区视频二区| 国产精品66部| 久久一区二区三区四区| 精品午夜久久福利影院| 欧美变态凌虐bdsm| 老司机午夜精品| 日韩三级伦理片妻子的秘密按摩| 亚洲h精品动漫在线观看| 色哟哟一区二区| 亚洲欧美日韩一区二区 | 麻豆精品在线观看| 91精品国产黑色紧身裤美女| 丝袜国产日韩另类美女| 3d动漫精品啪啪| 美女脱光内衣内裤视频久久影院| 欧美伦理视频网站| 日本强好片久久久久久aaa| 91麻豆精品国产91久久久使用方法 | 久久99热99| 久久伊人蜜桃av一区二区| 国产一区二区免费视频| 久久久精品tv| 国产乱理伦片在线观看夜一区| 久久久久久久久久久久久久久99 | 99国产精品久久久久久久久久久 | 亚洲一级二级在线| 欧美日韩三级一区二区| 精品中文字幕一区二区小辣椒 | 99久久精品国产毛片| 亚洲一区二区免费视频| 中文字幕一区二区三区精华液| 亚洲综合久久久| 91热门视频在线观看| 亚洲日本丝袜连裤袜办公室| 欧日韩精品视频| 午夜精品福利在线| 欧美一区二区精品在线| 九色porny丨国产精品| 久久综合成人精品亚洲另类欧美 | 欧美一级精品在线| 精品一区二区综合| 国产精品美女久久久久av爽李琼 | 欧美日韩精品三区| 蜜臀av一区二区在线观看| 精品99999| 99re成人在线| 日本一道高清亚洲日美韩| 欧美成人一区二区三区在线观看| 国产高清久久久久| 亚洲精品一二三区| 日韩视频123| 97se狠狠狠综合亚洲狠狠| 午夜欧美在线一二页| 国产亚洲欧美色| 在线免费av一区| 久久99久久精品| 亚洲精品国产无天堂网2021| 日韩视频一区二区三区| www.亚洲在线| 秋霞电影网一区二区| 国产精品第一页第二页第三页| 欧美日韩精品一区二区天天拍小说| 国产一区免费电影| 亚洲在线中文字幕| 久久色在线视频| 在线观看一区不卡| 国产毛片精品视频| 日韩综合在线视频| 亚洲欧美视频在线观看视频| 日韩欧美一区二区三区在线| 91影视在线播放| 国产精品一区二区久激情瑜伽| 亚洲电影你懂得| 中文字幕一区二区三区不卡 | 欧美日韩免费不卡视频一区二区三区| 亚洲日本中文字幕区| 午夜精品久久久久久久| 国产精品77777| 国产精品国产三级国产a| 亚洲线精品一区二区三区八戒| 精品系列免费在线观看| 91香蕉国产在线观看软件|