asn1fix_derefv.c

来自「RSA加密/解密算法源码 asn1c-0.9.12」· C语言 代码 · 共 53 行

C
53
字号
#include "asn1fix_internal.h"/* * Dereference DefinedValues: */intasn1f_fix_dereference_values(arg_t *arg) {	asn1p_expr_t *expr = arg->expr;	int r_value = 0;	if(expr->value && expr->meta_type == AMT_VALUE) {		if(asn1f_value_resolve(arg, expr, 0)) {			/* This function will emit messages */			r_value = -1;		}	}	return r_value;}/* * Dereference DEFAULT values */intasn1f_fix_dereference_defaults(arg_t *arg) {	asn1p_expr_t *expr = arg->expr;	int r_value = 0;	if(expr->marker.default_value) {		arg_t tmparg = *arg;		asn1p_expr_t tmpexpr = *expr;		switch(expr->marker.default_value->type) {		default:			return r_value;		case ATV_REFERENCED:			break;		}		tmparg.expr = &tmpexpr;		tmpexpr.meta_type = AMT_VALUE;		tmpexpr.marker.default_value = 0;		tmpexpr.value = expr->marker.default_value;		if(asn1f_value_resolve(&tmparg, &tmpexpr, 0))			r_value = -1;		expr->marker.default_value = tmpexpr.value;	}	return r_value;}

⌨️ 快捷键说明

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