/[m4]/m4/m4/symtab.c
ViewVC logotype

Diff of /m4/m4/symtab.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.46 by gary, Thu Sep 11 16:38:12 2003 UTC revision 1.47 by gary, Tue Oct 7 14:10:13 2003 UTC
# Line 83  m4_symtab_delete (m4_symbol_table *symta Line 83  m4_symtab_delete (m4_symbol_table *symta
83    
84    m4_symtab_apply  (symtab, symbol_destroy_CB, NULL);    m4_symtab_apply  (symtab, symbol_destroy_CB, NULL);
85    m4_hash_delete (symtab->table);    m4_hash_delete (symtab->table);
86    xfree (symtab);    free (symtab);
87  }  }
88    
89  void *  void *
# Line 162  m4__symtab_remove_module_references (m4_ Line 162  m4__symtab_remove_module_references (m4_
162                    VALUE_NEXT (data) = VALUE_NEXT (next);                    VALUE_NEXT (data) = VALUE_NEXT (next);
163    
164                    if (next->type == M4_SYMBOL_TEXT)                    if (next->type == M4_SYMBOL_TEXT)
165                      xfree (m4_get_symbol_value_text (next));                      free (m4_get_symbol_value_text (next));
166                    xfree (next);                    free (next);
167                  }                  }
168                else                else
169                  data = next;                  data = next;
# Line 192  symbol_destroy_CB (m4_symbol_table *symt Line 192  symbol_destroy_CB (m4_symbol_table *symt
192    while (key && m4_hash_lookup (symtab->table, key))    while (key && m4_hash_lookup (symtab->table, key))
193      m4_symbol_popdef (symtab, key);      m4_symbol_popdef (symtab, key);
194    
195    xfree (key);    free (key);
196    
197    return NULL;    return NULL;
198  }  }
# Line 281  m4_symbol_popdef (m4_symbol_table *symta Line 281  m4_symbol_popdef (m4_symbol_table *symta
281      if (*symtab->nuke_trace_bit || !m4_get_symbol_traced (*psymbol))      if (*symtab->nuke_trace_bit || !m4_get_symbol_traced (*psymbol))
282        {        {
283          DELETE (*psymbol);          DELETE (*psymbol);
284          xfree (m4_hash_remove (symtab->table, name));          free (m4_hash_remove (symtab->table, name));
285        }        }
286  }  }
287    
# Line 305  symbol_popval (m4_symbol *symbol) Line 305  symbol_popval (m4_symbol *symbol)
305            m4_hash_delete (VALUE_ARG_SIGNATURE (stale));            m4_hash_delete (VALUE_ARG_SIGNATURE (stale));
306          }          }
307        if (m4_is_symbol_value_text (stale))        if (m4_is_symbol_value_text (stale))
308          xfree (m4_get_symbol_value_text (stale));          free (m4_get_symbol_value_text (stale));
309        xfree (stale);        free (stale);
310      }      }
311  }  }
312    
# Line 322  arg_destroy_CB (m4_hash *hash, const voi Line 322  arg_destroy_CB (m4_hash *hash, const voi
322    
323    if (SYMBOL_ARG_DEFAULT (token_arg))    if (SYMBOL_ARG_DEFAULT (token_arg))
324      DELETE (SYMBOL_ARG_DEFAULT (token_arg));      DELETE (SYMBOL_ARG_DEFAULT (token_arg));
325    xfree (token_arg);    free (token_arg);
326    xfree (m4_hash_remove (hash, (const char *) name));    free (m4_hash_remove (hash, (const char *) name));
327    
328    return NULL;    return NULL;
329  }  }
# Line 337  m4_symbol_value_copy (m4_symbol_value *d Line 337  m4_symbol_value_copy (m4_symbol_value *d
337    assert (src);    assert (src);
338    
339    if (m4_is_symbol_value_text (dest))    if (m4_is_symbol_value_text (dest))
340      xfree (m4_get_symbol_value_text (dest));      free (m4_get_symbol_value_text (dest));
341    
342    if (VALUE_ARG_SIGNATURE (dest))    if (VALUE_ARG_SIGNATURE (dest))
343      {      {

Legend:
Removed from v.1.46  
changed lines
  Added in v.1.47

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26