[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
30-fyi-m4-symbol-ignore.patch
From: |
Akim Demaille |
Subject: |
30-fyi-m4-symbol-ignore.patch |
Date: |
Wed, 05 Sep 2001 09:15:58 +0200 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* m4/m4module.h (m4_symbol_lookup): Remove M4_SYMBOL_IGNORE,
unused.
* m4/symtab.c (m4_lookup_symbol): Adjust.
* m4/symtab.c (m4_lookup_symbol): Give more details when reporting
internal errors.
Avoid using `default' in switch, as it hides useful compiler
warnings when a case is forgotten.
Index: m4/m4module.h
--- m4/m4module.h Mon, 03 Sep 2001 15:40:52 +0200 akim
+++ m4/m4module.h Tue, 04 Sep 2001 09:52:45 +0200 akim
@@ -57,7 +57,6 @@
M4_SYMBOL_DELETE,
M4_SYMBOL_PUSHDEF,
M4_SYMBOL_POPDEF,
- M4_SYMBOL_IGNORE
} m4_symbol_lookup;
typedef struct {
Index: m4/symtab.c
--- m4/symtab.c Mon, 03 Sep 2001 15:40:52 +0200 akim
+++ m4/symtab.c Tue, 04 Sep 2001 09:51:59 +0200 akim
@@ -136,83 +136,78 @@
m4_symbol *
m4_lookup_symbol (const char *name, m4_symbol_lookup mode)
{
- if (mode == M4_SYMBOL_IGNORE)
- return 0;
+ m4_symbol **psymbol = (m4_symbol **) m4_hash_lookup (m4_symtab, name);
- {
- m4_symbol **psymbol = (m4_symbol **) m4_hash_lookup (m4_symtab, name);
-
- switch (mode)
+ switch (mode)
+ {
+ case M4_SYMBOL_LOOKUP:
+ /* If just searching, return status of search. */
+ return psymbol ? *psymbol : 0;
+
+ case M4_SYMBOL_INSERT:
+ /* Return the symbol, if the name was found in the table.
+ Otherwise, just insert the name, and return the new symbol. */
+ if (psymbol)
+ return *psymbol;
+ /* NOBREAK */
+
+ case M4_SYMBOL_PUSHDEF:
+ /* Insert a name in the symbol table. If there is already a symbol
+ with the name, push the new value on top of the value stack for
+ this symbol. */
{
- case M4_SYMBOL_LOOKUP:
- /* If just searching, return status of search. */
- return psymbol ? *psymbol : 0;
-
- case M4_SYMBOL_INSERT:
- /* Return the symbol, if the name was found in the table.
- Otherwise, just insert the name, and return the new symbol. */
- if (psymbol)
- return *psymbol;
- /* NOBREAK */
-
- case M4_SYMBOL_PUSHDEF:
- /* Insert a name in the symbol table. If there is already a symbol
- with the name, push the new value on top of the value stack for
- this symbol. */
- {
- m4_symbol *symbol = 0;
- m4_token_data *value = XCALLOC (m4_token_data, 1);
-
- if (psymbol)
- {
- symbol = *psymbol;
- M4_TOKEN_DATA_NEXT (value)= M4_SYMBOL_DATA (symbol);
- }
- else
- symbol = XCALLOC (m4_symbol, 1);
-
- M4_SYMBOL_DATA (symbol) = value;
- M4_SYMBOL_TYPE (symbol) = M4_TOKEN_VOID;
-
- if (!psymbol)
- m4_hash_insert (m4_symtab, xstrdup (name), symbol);
-
- return symbol;
- }
-
- case M4_SYMBOL_POPDEF:
- /* Delete the first occurence of a symbol with NAME. */
- if (psymbol)
- {
- if (M4_SYMBOL_DATA_NEXT (*psymbol))
- m4_symbol_popdef (*psymbol);
- else
- {
- xfree (m4_hash_remove (m4_symtab, name));
- m4_symbol_delete (*psymbol);
- }
- }
- return 0;
+ m4_symbol *symbol = 0;
+ m4_token_data *value = XCALLOC (m4_token_data, 1);
- case M4_SYMBOL_DELETE:
- /* Delete all occurences of symbols with NAME. */
if (psymbol)
{
- xfree (m4_hash_remove (m4_symtab, name));
- m4_symbol_delete (*psymbol);
+ symbol = *psymbol;
+ M4_TOKEN_DATA_NEXT (value)= M4_SYMBOL_DATA (symbol);
}
else
- M4ERROR ((warning_status, 0,
- _("INTERNAL ERROR: Attempt to delete non-existant symbol")));
- return 0;
+ symbol = XCALLOC (m4_symbol, 1);
- default:
- M4ERROR ((warning_status, 0,
- _("INTERNAL ERROR: Illegal mode to m4_symbol_lookup ()")));
- abort ();
+ M4_SYMBOL_DATA (symbol) = value;
+ M4_SYMBOL_TYPE (symbol) = M4_TOKEN_VOID;
+
+ if (!psymbol)
+ m4_hash_insert (m4_symtab, xstrdup (name), symbol);
+
+ return symbol;
}
- }
+ case M4_SYMBOL_POPDEF:
+ /* Delete the first occurence of a symbol with NAME. */
+ if (psymbol)
+ {
+ if (M4_SYMBOL_DATA_NEXT (*psymbol))
+ m4_symbol_popdef (*psymbol);
+ else
+ {
+ xfree (m4_hash_remove (m4_symtab, name));
+ m4_symbol_delete (*psymbol);
+ }
+ }
+ return 0;
+
+ case M4_SYMBOL_DELETE:
+ /* Delete all occurences of symbols with NAME. */
+ if (psymbol)
+ {
+ xfree (m4_hash_remove (m4_symtab, name));
+ m4_symbol_delete (*psymbol);
+ }
+ else
+ M4ERROR ((warning_status, 0,
+ _("INTERNAL ERROR: Attempt to delete non-existant symbol:
%s"),
+ name));
+ return 0;
+ }
+
+ M4ERROR ((warning_status, 0,
+ _("INTERNAL ERROR: Illegal mode to m4_symbol_lookup (%s, %d)"),
+ name, mode));
+ abort ();
/*NOTREACHED*/
return 0;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- 30-fyi-m4-symbol-ignore.patch,
Akim Demaille <=