From 14a1e8950674ad73d0bbce669908b245c480c9ad Mon Sep 17 00:00:00 2001 From: vlm Date: Sat, 4 Jun 2005 01:08:32 +0000 Subject: [PATCH] honor known-extern-type git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@897 59561ff5-6e30-0410-9f3c-9617f08c8826 --- libasn1fix/asn1fix_value.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libasn1fix/asn1fix_value.c b/libasn1fix/asn1fix_value.c index 60259421..50d8da20 100644 --- a/libasn1fix/asn1fix_value.c +++ b/libasn1fix/asn1fix_value.c @@ -27,11 +27,16 @@ asn1f_value_resolve(arg_t *arg, asn1p_expr_t *expr, const enum asn1p_constraint_ * 1. Find the terminal type for this assignment. */ type_expr = asn1f_find_terminal_type(arg, expr); - DEBUG("terminal type %p", type_expr); if(type_expr == 0) { - FATAL("Terminal type for %s at line %d not found", - expr->Identifier, expr->_lineno); - return -1; + if(errno == EEXIST) { + DEBUG("External type for %s at line %d", + expr->Identifier, expr->_lineno); + return 0; + } else { + FATAL("Terminal type for %s at line %d not found", + expr->Identifier, expr->_lineno); + return -1; + } } if(asn1f_look_value_in_type(arg, type_expr, expr) == -1) {