From c335d06768c8e1c6b3fd0851a77bbba13de2729f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sat, 24 Feb 2001 23:14:53 +0100
Subject: [PATCH] More type encoding cleanups.

Rev: src/encode.c:1.87
---
 src/encode.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/encode.c b/src/encode.c
index 8acd862870..9008ba5f6e 100644
--- a/src/encode.c
+++ b/src/encode.c
@@ -25,7 +25,7 @@
 #include "version.h"
 #include "bignum.h"
 
-RCSID("$Id: encode.c,v 1.86 2001/02/24 22:08:43 grubba Exp $");
+RCSID("$Id: encode.c,v 1.87 2001/02/24 22:14:53 grubba Exp $");
 
 /* #define ENCODE_DEBUG */
 
@@ -263,7 +263,7 @@ static void do_enable_threads(void)
 }
 #endif
 
-static ptrdiff_t encode_type(unsigned char *t, struct encode_data *data)
+static ptrdiff_t low_encode_type(unsigned char *t, struct encode_data *data)
 {
   unsigned char *q = t;
 one_more_type:
@@ -282,13 +282,13 @@ one_more_type:
 
     case T_FUNCTION:
       while(EXTRACT_UCHAR(t)!=T_MANY)
-	t+=encode_type(t, data);
+	t += low_encode_type(t, data);
       addchar(EXTRACT_UCHAR(t++));
 
     case T_MAPPING:
     case T_OR:
     case T_AND:
-      t+=encode_type(t, data);
+      t += low_encode_type(t, data);
 
     case T_ARRAY:
     case T_MULTISET:
@@ -353,6 +353,10 @@ one_more_type:
   return t-q;
 }
 
+static ptrdiff_t encode_type(struct pike_type *t, struct encode_data *data)
+{
+  return low_encode_type(t->str, data);
+}
 
 static void encode_value2(struct svalue *val, struct encode_data *data)
 
@@ -403,7 +407,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data)
       if (data->canonic)
 	Pike_error("Canonical encoding of the type type not supported.\n");
       code_entry(TAG_TYPE, 0, data);	/* Type encoding #0 */
-      encode_type(val->u.type->str, data);
+      encode_type(val->u.type, data);
       mapping_insert(data->encoded, val, &data->counter);
       data->counter.u.integer++;
       break;
@@ -694,7 +698,7 @@ static void encode_value2(struct svalue *val, struct encode_data *data)
 	for(d=0;d<p->num_identifiers;d++)
 	{
 	  adddata(p->identifiers[d].name);
-	  encode_type(p->identifiers[d].type->str, data);
+	  encode_type(p->identifiers[d].type, data);
 	  code_number(p->identifiers[d].identifier_flags,data);
 	  code_number(p->identifiers[d].run_time_type,data);
 	  code_number(p->identifiers[d].opt_flags,data);
-- 
GitLab