m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Changes to m4/m4/symtab.c,v


From: Eric Blake
Subject: Changes to m4/m4/symtab.c,v
Date: Fri, 27 Oct 2006 17:03:53 +0000

CVSROOT:        /sources/m4
Module name:    m4
Changes by:     Eric Blake <ericb>      06/10/27 17:03:51

Index: m4/symtab.c
===================================================================
RCS file: /sources/m4/m4/m4/symtab.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -b -r1.66 -r1.67
--- m4/symtab.c 27 Oct 2006 04:03:28 -0000      1.66
+++ m4/symtab.c 27 Oct 2006 17:03:51 -0000      1.67
@@ -480,9 +480,7 @@
     }
   else if (m4_is_symbol_value_func (value))
     {
-      const m4_builtin *bp;
-      bp = m4_builtin_find_by_func (NULL, m4_get_symbol_value_func (value));
-      assert (bp);
+      const m4_builtin *bp = m4_get_symbol_value_builtin (value);
       text = bp->name;
       lquote = "<";
       rquote = ">";
@@ -641,7 +639,15 @@
 m4_get_symbol_value_func (m4_symbol_value *value)
 {
   assert (value && value->type == M4_SYMBOL_FUNC);
-  return value->u.func;
+  return value->u.builtin->func;
+}
+
+#undef m4_get_symbol_value_builtin
+const m4_builtin *
+m4_get_symbol_value_builtin (m4_symbol_value *value)
+{
+  assert (value && value->type == M4_SYMBOL_FUNC);
+  return value->u.builtin;
 }
 
 #undef m4_get_symbol_value_placeholder
@@ -652,6 +658,14 @@
   return value->u.text;
 }
 
+#undef m4_get_symbol_value_module
+lt_dlhandle
+m4_get_symbol_value_module (m4_symbol_value *value)
+{
+  assert (value);
+  return VALUE_HANDLE (value);
+}
+
 #undef m4_set_symbol_value_text
 void
 m4_set_symbol_value_text (m4_symbol_value *value, const char *text)
@@ -663,15 +677,15 @@
   value->u.text = text;
 }
 
-#undef m4_set_symbol_value_func
+#undef m4_set_symbol_value_builtin
 void
-m4_set_symbol_value_func (m4_symbol_value *value, m4_builtin_func *func)
+m4_set_symbol_value_builtin (m4_symbol_value *value, const m4_builtin *builtin)
 {
   assert (value);
-  assert (func);
+  assert (builtin);
 
   value->type   = M4_SYMBOL_FUNC;
-  value->u.func = func;
+  value->u.builtin = builtin;
 }
 
 #undef m4_set_symbol_value_placeholder
@@ -686,7 +700,6 @@
 }
 
 
-
 #ifdef DEBUG_SYM
 
 static void *dump_symbol_CB    (m4_symbol_table *symtab, const char *name,
@@ -712,25 +725,15 @@
 
   if (!value)
     fputs ("<!UNDEFINED!>", stderr);
+  else if (m4_is_symbol_value_void (value))
+    fputs ("<!VOID!>", stderr);
   else
-    switch (value->type)
       {
-      case M4_SYMBOL_TEXT:
-       fputs (m4_get_symbol_text (symbol), stderr);
-       break;
-
-      case M4_SYMBOL_FUNC:
-       bp = m4_builtin_find_by_func (handle, m4_get_symbol_func (symbol));
-       fprintf (stderr, "<%s>",
-                bp ? bp->name : "!ERROR!");
-       break;
-      case M4_SYMBOL_PLACEHOLDER:
-       fprintf (stderr, "<placeholder for %s>",
-                m4_get_symbol_placeholder (symbol));
-       break;
-      case M4_SYMBOL_VOID:
-       fputs ("<!VOID!>", stderr);
-       break;
+      m4_obstack obs;
+      obstack_init (&obs);
+      m4_symbol_value_print (value, &obs, false, NULL, NULL, 0, true);
+      fprintf (stderr, "%s", obstack_finish (&obs));
+      obstack_free (&obs, NULL);
       }
   fputc ('\n', stderr);
   return NULL;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]