some reentrancy protection
diff --git a/skeletons/per_opentype.c b/skeletons/per_opentype.c
index ebcf076..03a31d2 100644
--- a/skeletons/per_opentype.c
+++ b/skeletons/per_opentype.c
@@ -18,8 +18,6 @@
 static int per_skip_bits(asn_per_data_t *pd, int skip_nbits);
 static asn_dec_rval_t uper_sot_suck(asn_codec_ctx_t *, asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd);
 
-int asn_debug_indent;
-
 /*
  * Encode an "open type field".
  * #10.1, #10.2
@@ -101,9 +99,9 @@
 	spd.buffer = buf;
 	spd.nbits = bufLen << 3;
 
-	asn_debug_indent += 4;
+	ASN_DEBUG_INDENT_ADD(+4);
 	rv = td->uper_decoder(ctx, td, constraints, sptr, &spd);
-	asn_debug_indent -= 4;
+	ASN_DEBUG_INDENT_ADD(-4);
 
 	if(rv.code == RC_OK) {
 		/* Check padding validity */
@@ -153,9 +151,9 @@
 	pd->nbits = pd->nboff;	/* 0 good bits at this point, will refill */
 	pd->moved = 0;	/* This now counts the open type size in bits */
 
-	asn_debug_indent += 4;
+	ASN_DEBUG_INDENT_ADD(+4);
 	rv = td->uper_decoder(ctx, td, constraints, sptr, pd);
-	asn_debug_indent -= 4;
+	ASN_DEBUG_INDENT_ADD(-4);
 
 #define	UPDRESTOREPD	do {						\
 	/* buffer and nboff are valid, preserve them. */		\