a type fix, obstack_print

Ralf Wildenhues <[email protected]>
Newsgroups gmane.comp.gnu.m4.patches
Organization Department of Numerical Simulation, University of Bonn
Message-ID <[email protected]>
Hi Eric,

FWIW, I think the use of different integer types for lenghts looks a bit
messy in arg_print and the functions it calls.  This patch fixes the one
incompatible type (which will do the wrong thing on x86_64) on
branch-1_4.

It also renames obstack_print, to not clash with obstack.h's name space
(I mistakenly thought at first that this was a function provided by the
obstack module).

Cheers,
Ralf

2008-02-23  Ralf Wildenhues  <[email protected]>

	* src/debug.c (print_to_obstack): Renamed from ...
	(obstack_print): ... this.
	* src/m4.h: Adjust.
	* src/input.c (input_print): Adjust callers.
	* src/macro.c (arg_print): Likewise.  Also, fix type of plen.

diff --git a/src/debug.c b/src/debug.c
index 737ee52..8e4fac2 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -408,7 +408,7 @@ trace_post (const char *name, int id, macro_arguments *argv,
    reached; otherwise, return false and update MAX_LEN as
    appropriate.  */
 bool
-obstack_print (struct obstack *obs, const char *str, size_t len, int *max_len)
+print_to_obstack (struct obstack *obs, const char *str, size_t len, int *max_len)
 {
   int max = max_len ? *max_len : INT_MAX;
 
diff --git a/src/input.c b/src/input.c
index bbd50f4..8f26e5a 100644
--- a/src/input.c
+++ b/src/input.c
@@ -686,7 +686,7 @@ input_print (struct obstack *obs, const input_block *input)
   switch (input->type)
     {
     case INPUT_STRING:
-      obstack_print (obs, input->u.u_s.str, input->u.u_s.len, &maxlen);
+      print_to_obstack (obs, input->u.u_s.str, input->u.u_s.len, &maxlen);
       break;
     case INPUT_FILE:
       obstack_grow (obs, "<file: ", strlen ("<file: "));
@@ -703,7 +703,7 @@ input_print (struct obstack *obs, const input_block *input)
 	  switch (chain->type)
 	    {
 	    case CHAIN_STR:
-	      if (obstack_print (obs, chain->u.u_s.str, chain->u.u_s.len,
+	      if (print_to_obstack (obs, chain->u.u_s.str, chain->u.u_s.len,
 				 &maxlen))
 		return;
 	      break;
diff --git a/src/m4.h b/src/m4.h
index 0c2a8c8..111e7ff 100644
--- a/src/m4.h
+++ b/src/m4.h
@@ -249,7 +249,7 @@ void trace_pre (const char *, int, macro_arguments *);
 void trace_post (const char *, int, macro_arguments *,
 		 const input_block *);
 
-bool obstack_print (struct obstack *, const char *, size_t, int *);
+bool print_to_obstack (struct obstack *, const char *, size_t, int *);
 
 /* File: input.c  --- lexical definitions.  */
 
diff --git a/src/macro.c b/src/macro.c
index 8b7e303..85330d8 100644
--- a/src/macro.c
+++ b/src/macro.c
@@ -1119,7 +1119,7 @@ arg_print (struct obstack *obs, macro_arguments *argv, unsigned int index,
   bool use_sep = false;
   bool done;
   size_t sep_len;
-  size_t *plen = quote_each ? NULL : &len;
+  int *plen = quote_each ? NULL : &len;
 
   if (!sep)
     sep = ",";
@@ -1128,23 +1128,23 @@ arg_print (struct obstack *obs, macro_arguments *argv, unsigned int index,
     {
       if (quote_each && max_len)
 	len = *max_len;
-      if (use_sep && obstack_print (obs, sep, sep_len, plen))
+      if (use_sep && print_to_obstack (obs, sep, sep_len, plen))
 	return true;
       use_sep = true;
       token = arg_token (argv, i, NULL);
       switch (TOKEN_DATA_TYPE (token))
 	{
 	case TOKEN_TEXT:
-	  if (quotes && obstack_print (obs, quotes->str1, quotes->len1, plen))
+	  if (quotes && print_to_obstack (obs, quotes->str1, quotes->len1, plen))
 	    return true;
-	  if (obstack_print (obs, TOKEN_DATA_TEXT (token),
+	  if (print_to_obstack (obs, TOKEN_DATA_TEXT (token),
 			     TOKEN_DATA_LEN (token), &len) && !quote_each)
 	    return true;
-	  if (quotes && obstack_print (obs, quotes->str2, quotes->len2, plen))
+	  if (quotes && print_to_obstack (obs, quotes->str2, quotes->len2, plen))
 	    return true;
 	  break;
 	case TOKEN_COMP:
-	  if (quotes && obstack_print (obs, quotes->str1, quotes->len1, plen))
+	  if (quotes && print_to_obstack (obs, quotes->str1, quotes->len1, plen))
 	    return true;
 	  chain = token->u.u_c.chain;
 	  done = false;
@@ -1153,7 +1153,7 @@ arg_print (struct obstack *obs, macro_arguments *argv, unsigned int index,
 	      switch (chain->type)
 		{
 		case CHAIN_STR:
-		  if (obstack_print (obs, chain->u.u_s.str, chain->u.u_s.len,
+		  if (print_to_obstack (obs, chain->u.u_s.str, chain->u.u_s.len,
 				     &len))
 		    done = true;
 		  break;
@@ -1172,7 +1172,7 @@ arg_print (struct obstack *obs, macro_arguments *argv, unsigned int index,
 	    }
 	  if (done && !quote_each)
 	    return true;
-	  if (quotes && obstack_print (obs, quotes->str2, quotes->len2, plen))
+	  if (quotes && print_to_obstack (obs, quotes->str2, quotes->len2, plen))
 	    return true;
 	  break;
 	case TOKEN_FUNC:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.