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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? asn1fix_constraint.c

?? RSA加密/解密算法源碼 asn1c-0.9.12
?? C
字號:
#include "asn1fix_internal.h"#include "asn1fix_constraint.h"#include "asn1fix_crange.h"static void _remove_exceptions(arg_t *arg, asn1p_constraint_t *ct);static int constraint_value_resolve(arg_t *arg, asn1p_module_t *mod, asn1p_value_t **value, enum asn1p_constraint_type_e real_ctype);intasn1constraint_pullup(arg_t *arg) {	asn1p_expr_t *expr = arg->expr;	asn1p_constraint_t *ct_parent;	asn1p_constraint_t *ct_expr;	int ret;	if(expr->combined_constraints)		return 0;	/* Operation already performed earlier */	switch(expr->meta_type) {	case AMT_TYPE:	case AMT_TYPEREF:		break;	default:		return 0;	/* Nothing to do */	}	if(expr->expr_type == A1TC_REFERENCE) {		asn1p_ref_t *ref = expr->reference;		asn1p_expr_t *parent_expr;		assert(ref);		parent_expr = asn1f_lookup_symbol(arg, expr->module, ref);		if(!parent_expr) {			if(errno != EEXIST) {				DEBUG("\tWhile fetching parent constraints: "					"type \"%s\" not found: %s",					asn1f_printable_reference(ref),					strerror(errno));				return -1;			} else {				/*				 * -fknown-extern-type is given.				 * Assume there are no constraints there.				 */				WARNING("External type \"%s\": "					"assuming no constraints",					asn1f_printable_reference(ref));				ct_parent = 0;			}		} else {			arg->expr = parent_expr;			ret = asn1constraint_pullup(arg);			arg->expr = expr;			if(ret) return ret;			ct_parent = parent_expr->combined_constraints;		}	} else {		ct_parent = 0;	}	ct_expr = expr->constraints;	if(!ct_parent && !ct_expr)		return 0;	/* No constraints to consider */	if(ct_parent) {		ct_parent = asn1p_constraint_clone(ct_parent);		assert(ct_parent);	}	/*	 * If the current type does not have constraints, it inherits	 * the constraints of a parent.	 */	if(ct_parent && !ct_expr) {		expr->combined_constraints = ct_parent;		return 0;	}	ct_expr = asn1p_constraint_clone(ct_expr);	assert(ct_expr);	/*	 * Now we have a set of current expression's constraints,	 * and an optional set of the parent expression's constraints.	 */	if(ct_parent) {		/*		 * If we have a parent, remove all the extensions (46.4).		 */		_remove_exceptions(arg, ct_parent);		expr->combined_constraints = ct_parent;		if(ct_expr->type == ACT_CA_SET) {			unsigned int i;			for(i = 0; i < ct_expr->el_count; i++) {				if(asn1p_constraint_insert(					expr->combined_constraints,						ct_expr->elements[i])) {					expr->combined_constraints = 0;					asn1p_constraint_free(ct_expr);					asn1p_constraint_free(ct_parent);					return -1;				} else {					ct_expr->elements[i] = 0;				}			}			asn1p_constraint_free(ct_expr);		} else {			asn1p_constraint_insert(expr->combined_constraints,				ct_expr);		}	} else {		expr->combined_constraints = ct_expr;	}	return 0;}intasn1constraint_resolve(arg_t *arg, asn1p_module_t *mod, asn1p_constraint_t *ct, asn1p_expr_type_e etype, enum asn1p_constraint_type_e effective_type) {	enum asn1p_constraint_type_e real_constraint_type;	unsigned int el;	int rvalue = 0;	int ret;	DEBUG("(\"%s\")", arg->expr->Identifier);	if(!ct) return 0;	/* Don't touch information object classes */	switch(ct->type) {	case ACT_CT_SIZE:	case ACT_CT_FROM:		if(effective_type && effective_type != ct->type) {			FATAL("%s at line %d: "				"Incompatible nested %s within %s",				arg->expr->Identifier, ct->_lineno,				asn1p_constraint_type2str(ct->type),				asn1p_constraint_type2str(effective_type)			);		}		effective_type = ct->type;		break;	case ACT_CT_WCOMP:	case ACT_CT_WCOMPS:	case ACT_CA_CRC:		return 0;	default:		break;	}	real_constraint_type = effective_type ? effective_type : ct->type;	if(etype != A1TC_INVALID) {		ret = asn1constraint_compatible(etype, real_constraint_type);		switch(ret) {		case -1:	/* If unknown, assume OK. */		case  1:			break;		case 0:			if(effective_type == ACT_CT_SIZE			&& (arg->flags & A1F_EXTENDED_SizeConstraint))				break;		default:			FATAL("%s at line %d: "				"Constraint type %s is not applicable to %s",				arg->expr->Identifier, ct->_lineno,				asn1p_constraint_type2str(real_constraint_type),				ASN_EXPR_TYPE2STR(etype)			);			rvalue = -1;			break;		}	} else {		WARNING("%s at line %d: "			"Constraints ignored: Unresolved parent type",			arg->expr->Identifier, arg->expr->_lineno);	}	/*	 * Resolve all possible references, wherever they occur.	 */	if(ct->value && ct->value->type == ATV_REFERENCED) {		ret = constraint_value_resolve(arg, mod,			&ct->value, real_constraint_type);		RET2RVAL(ret, rvalue);	}	if(ct->range_start && ct->range_start->type == ATV_REFERENCED) {		ret = constraint_value_resolve(arg, mod,			&ct->range_start, real_constraint_type);		RET2RVAL(ret, rvalue);	}	if(ct->range_stop && ct->range_stop->type == ATV_REFERENCED) {		ret = constraint_value_resolve(arg, mod,			&ct->range_stop, real_constraint_type);		RET2RVAL(ret, rvalue);	}	/*	 * Proceed recursively.	 */	for(el = 0; el < ct->el_count; el++) {		ret = asn1constraint_resolve(arg, mod, ct->elements[el],			etype, effective_type);		RET2RVAL(ret, rvalue);	}	return rvalue;}static void_remove_exceptions(arg_t *arg, asn1p_constraint_t *ct) {	unsigned int i;	for(i = 0; i < ct->el_count; i++) {		if(ct->elements[i]->type == ACT_EL_EXT)			break;		_remove_exceptions(arg, ct->elements[i]);	}	/* Remove the elements at and after the extensibility mark */	for(; i < ct->el_count; ct->el_count--) {		asn1p_constraint_t *rm;		rm = ct->elements[ct->el_count-1];		asn1p_constraint_free(rm);	}	if(i < ct->el_size)		ct->elements[i] = 0;}static intconstraint_value_resolve(arg_t *arg, asn1p_module_t *mod,	asn1p_value_t **value, enum asn1p_constraint_type_e real_ctype) {	asn1p_expr_t static_expr;	arg_t tmp_arg;	int rvalue = 0;	int ret;	(void)mod;	DEBUG("(\"%s\", within <%s>)",		asn1f_printable_value(*value),		asn1p_constraint_type2str(real_ctype));	static_expr = *arg->expr;	static_expr.value = *value;	static_expr.meta_type = AMT_VALUE;	tmp_arg = *arg;	tmp_arg.mod = arg->expr->module;	tmp_arg.expr = &static_expr;	ret = asn1f_value_resolve(&tmp_arg, &static_expr, &real_ctype);	RET2RVAL(ret, rvalue);	assert(static_expr.value);	*value = static_expr.value;	return rvalue;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久午夜电影网| 蜜臀91精品一区二区三区| 日日噜噜夜夜狠狠视频欧美人| 黄页网站大全一区二区| 欧美日韩一二三| 亚洲天堂福利av| 国产福利一区在线观看| 日韩一区二区在线观看视频| 亚洲综合男人的天堂| 国产91丝袜在线观看| 日韩女优毛片在线| 婷婷久久综合九色综合伊人色| 成人黄色网址在线观看| 国产欧美日韩久久| 黑人精品欧美一区二区蜜桃| 日韩一级完整毛片| 天天综合网 天天综合色| 色婷婷综合久久| 综合激情成人伊人| k8久久久一区二区三区| 国产色产综合色产在线视频| 国产一区二区调教| 精品久久人人做人人爰| 麻豆高清免费国产一区| 精品国产乱码久久| 激情久久五月天| 久久精品一级爱片| 国产成人在线视频网址| 国产日韩av一区| yourporn久久国产精品| 中文字幕一区二区三区视频| 东方欧美亚洲色图在线| 中文无字幕一区二区三区| 国产成人在线视频播放| 国产精品久久久久久久久免费樱桃| 国内精品久久久久影院一蜜桃| 久久婷婷国产综合精品青草| 国产成人免费视频精品含羞草妖精| 久久精品综合网| av电影天堂一区二区在线观看| 国产精品乱人伦| 色偷偷88欧美精品久久久| 亚洲国产乱码最新视频| 欧美一级欧美三级| 国产一区二区三区在线观看精品| 中文字幕免费在线观看视频一区| 成人av免费网站| 亚洲最大成人综合| 在线电影欧美成精品| 久久99精品久久久久久| 国产精品三级av在线播放| 色噜噜狠狠色综合欧洲selulu| 亚洲国产一二三| 精品裸体舞一区二区三区| 不卡的av电影在线观看| 亚洲成人av福利| 26uuu色噜噜精品一区| 99国产精品久| 日日欢夜夜爽一区| 中文字幕第一区二区| 欧美午夜精品一区二区三区 | 国产高清精品网站| 自拍av一区二区三区| 欧美一区二区三区的| 成人免费高清在线观看| 天涯成人国产亚洲精品一区av| 久久久久国色av免费看影院| 色婷婷综合久色| 韩国av一区二区| 亚洲一区二区三区精品在线| 久久奇米777| 911精品国产一区二区在线| 成人综合激情网| 日韩电影在线一区二区| 中文字幕一区二区三区乱码在线 | 中文字幕中文在线不卡住| 欧美撒尿777hd撒尿| 成人听书哪个软件好| 丝袜美腿成人在线| 日韩理论片网站| 久久亚洲影视婷婷| 5566中文字幕一区二区电影 | 伊人开心综合网| 国产亚洲欧美在线| 日韩亚洲欧美综合| 欧美视频一二三区| 91老师片黄在线观看| 国产乱码精品一区二区三区av| 亚洲1区2区3区视频| 亚洲手机成人高清视频| 久久在线观看免费| 91精品国产综合久久久蜜臀图片| 91在线国产福利| 国产 欧美在线| 精品在线亚洲视频| 久久精品国产成人一区二区三区| 亚洲一区二三区| 亚洲黄色在线视频| **欧美大码日韩| 国产精品国产三级国产三级人妇 | 国产人成亚洲第一网站在线播放 | 日韩电影在线一区| 亚洲va韩国va欧美va| 亚洲一区在线免费观看| 亚洲综合色在线| 一区二区三区欧美亚洲| 国产精品人妖ts系列视频| 国产日产精品1区| 国产精品免费久久久久| 日韩精品国产欧美| 亚洲色大成网站www久久九九| 日韩午夜在线影院| 91精品国产免费久久综合| 欧美性xxxxxx少妇| 欧美午夜片在线观看| 欧美日韩国产在线观看| 欧洲一区二区av| 欧美群妇大交群中文字幕| 欧美另类videos死尸| 欧美日韩三级视频| 欧美一卡二卡在线观看| 精品精品欲导航| 久久久久久久网| 国产精品丝袜久久久久久app| 久久九九99视频| 1000精品久久久久久久久| 亚洲精品一二三四区| 天天综合网天天综合色| 久久精品二区亚洲w码| 久久精品久久99精品久久| 国产一区福利在线| 91在线一区二区| 欧美三级午夜理伦三级中视频| 精品国产乱码91久久久久久网站| 亚洲电影你懂得| 亚洲成人av一区| 免费在线观看成人| 国产成人精品一区二区三区网站观看| 国产91精品久久久久久久网曝门| 成人aaaa免费全部观看| 色94色欧美sute亚洲13| 91精品国产欧美一区二区成人 | 91精品国产91综合久久蜜臀| 日韩一区二区在线观看| 亚洲国产精品黑人久久久| 亚洲伦在线观看| 久久精品国产99国产| 91片在线免费观看| 欧美一区二区三区四区在线观看 | 麻豆91小视频| 9i在线看片成人免费| 欧美精品一级二级三级| 久久久亚洲欧洲日产国码αv| 另类小说综合欧美亚洲| 日韩视频免费观看高清完整版| 精品蜜桃在线看| 最近日韩中文字幕| 日韩黄色片在线观看| 成人av资源在线观看| 欧洲一区二区三区免费视频| 久久这里只精品最新地址| 亚洲永久免费视频| 国产剧情一区二区三区| 欧美色手机在线观看| 中文字幕乱码久久午夜不卡| 日韩激情一二三区| av电影在线观看一区| 欧美www视频| 亚洲国产日产av| 成人午夜电影久久影院| 日韩一区二区免费在线电影 | 国产精品久久久久影视| 日韩制服丝袜先锋影音| 91亚洲精品一区二区乱码| 欧美不卡一区二区三区四区| 夜夜亚洲天天久久| 国产99精品国产| 精品毛片乱码1区2区3区 | 国产精品嫩草99a| 亚洲第一在线综合网站| fc2成人免费人成在线观看播放 | 日韩一区二区三区视频在线| 亚洲精品国产无套在线观 | 国产精品自在欧美一区| 69堂成人精品免费视频| 亚洲一区二区中文在线| 99精品国产一区二区三区不卡| 久久网这里都是精品| 激情综合色综合久久| 日韩一区二区三区视频在线| 天堂影院一区二区| 欧美三级一区二区| 亚洲v日本v欧美v久久精品| 91久久精品网| 1024精品合集| 在线观看亚洲精品| 一区二区视频在线| 91官网在线观看| 亚洲一区二区欧美| 在线观看91精品国产入口|