new UTF8String_length() semantics


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@471 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/tests/50-constraint-OK.asn1 b/tests/50-constraint-OK.asn1
index b8812bc..d0692c5 100644
--- a/tests/50-constraint-OK.asn1
+++ b/tests/50-constraint-OK.asn1
@@ -45,8 +45,9 @@
 	SIZE-and-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD"))
 	Neither-SIZE-nor-FROM ::= PER-Visible (SIZE(1..4) | FROM("ABCD",...))
 
-	Utf8-3 ::= Utf8-2 (FROM("A".."Z"|"a".."z"))
-	Utf8-2 ::= Utf8-1 (SIZE(1..2))
+	Utf8-4 ::= UTF8String (FROM("A".."Z"|"a".."z"))	-- Alphabet
+	Utf8-3 ::= Utf8-2 (FROM("A".."Z"|"a".."z"))	-- Alphabet and size
+	Utf8-2 ::= Utf8-1 (SIZE(1..2))			-- Size
 	Utf8-1 ::= UTF8String
 
 	VisibleIdentifier ::= Identifier
diff --git a/tests/50-constraint-OK.asn1.-EFprint-constraints b/tests/50-constraint-OK.asn1.-EFprint-constraints
index 393826d..3a62858 100644
--- a/tests/50-constraint-OK.asn1.-EFprint-constraints
+++ b/tests/50-constraint-OK.asn1.-EFprint-constraints
Binary files differ
diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P
index b8c0c35..f3370c2 100644
--- a/tests/50-constraint-OK.asn1.-P
+++ b/tests/50-constraint-OK.asn1.-P
@@ -2346,8 +2346,13 @@
 		return -1;
 	}
 	
-	size = UTF8String_length(st, td->name, app_errlog, app_key);
-	if(size == (size_t)-1) return -1;
+	size = UTF8String_length(st);
+	if(size < 0) {
+		_ASN_ERRLOG(app_errlog, app_key,
+			"%s: UTF-8: broken encoding (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
 	
 	if((size >= 1 && size <= 2)
 		 && !check_permitted_alphabet_12(sptr)) {
@@ -2476,8 +2481,13 @@
 		return -1;
 	}
 	
-	size = UTF8String_length(st, td->name, app_errlog, app_key);
-	if(size == (size_t)-1) return -1;
+	size = UTF8String_length(st);
+	if(size < 0) {
+		_ASN_ERRLOG(app_errlog, app_key,
+			"%s: UTF-8: broken encoding (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
 	
 	if((size >= 1 && size <= 2)) {
 		/* Constraint check succeeded */