per encoding support

diff --git a/skeletons/NativeEnumerated.c b/skeletons/NativeEnumerated.c
index fa16eb0..e3af1ca 100644
--- a/skeletons/NativeEnumerated.c
+++ b/skeletons/NativeEnumerated.c
@@ -96,13 +96,13 @@
 
 	if(ct->flags & APC_EXTENSIBLE) {
 		int inext = per_get_few_bits(pd, 1);
-		if(inext < 0) _ASN_DECODE_FAILED;
+		if(inext < 0) _ASN_DECODE_STARVED;
 		if(inext) ct = 0;
 	}
 
 	if(ct && ct->range_bits >= 0) {
 		value = per_get_few_bits(pd, ct->range_bits);
-		if(value < 0) _ASN_DECODE_FAILED;
+		if(value < 0) _ASN_DECODE_STARVED;
 		if(value >= (specs->extension
 			? specs->extension - 1 : specs->map_count))
 			_ASN_DECODE_FAILED;
@@ -113,7 +113,7 @@
 		 * X.691, #10.6: normally small non-negative whole number;
 		 */
 		value = uper_get_nsnnwn(pd);
-		if(value < 0) _ASN_DECODE_FAILED;
+		if(value < 0) _ASN_DECODE_STARVED;
 		value += specs->extension - 1;
 		if(value >= specs->map_count)
 			_ASN_DECODE_FAILED;