~mdw
/
mLib
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New modules.
[mLib]
/
sym.h
diff --git
a/sym.h
b/sym.h
index
edd3284
..
1de62f1
100644
(file)
--- a/
sym.h
+++ b/
sym.h
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id: sym.h,v 1.
8 1999/08/02 14:45
:48 mdw Exp $
+ * $Id: sym.h,v 1.
9 1999/08/02 16:53
:48 mdw Exp $
*
* Symbol table management
*
*
* Symbol table management
*
@@
-30,6
+30,9
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: sym.h,v $
/*----- Revision history --------------------------------------------------*
*
* $Log: sym.h,v $
+ * Revision 1.9 1999/08/02 16:53:48 mdw
+ * Improve type safety for sym_iter objects.
+ *
* Revision 1.8 1999/08/02 14:45:48 mdw
* Break low-level hashtable code out from sym.
*
* Revision 1.8 1999/08/02 14:45:48 mdw
* Break low-level hashtable code out from sym.
*
@@
-119,7
+122,7
@@
typedef struct sym_base {
/* --- An iterator block --- */
/* --- An iterator block --- */
-typedef
hash_iter
sym_iter;
+typedef
struct { hash_iter i; }
sym_iter;
/*----- External functions ------------------------------------------------*/
/*----- External functions ------------------------------------------------*/
@@
-206,7
+209,7
@@
extern void sym_remove(sym_table */*t*/, void */*b*/);
* iterate through a symbol table.
*/
* iterate through a symbol table.
*/
-#define SYM_MKITER(i
, t) HASH_MKITER((i), &(t
)->t)
+#define SYM_MKITER(i
_, t_) HASH_MKITER(&(i_)->i, &(t_
)->t)
extern void sym_mkiter(sym_iter */*i*/, sym_table */*t*/);
extern void sym_mkiter(sym_iter */*i*/, sym_table */*t*/);
@@
-220,9
+223,9
@@
extern void sym_mkiter(sym_iter */*i*/, sym_table */*t*/);
* returned in any particular order.
*/
* returned in any particular order.
*/
-#define SYM_NEXT(i
, p) do {
\
+#define SYM_NEXT(i
_, p) do {
\
hash_base *_q; \
hash_base *_q; \
- HASH_NEXT(
(i), _q);
\
+ HASH_NEXT(
&(i_)->i, _q);
\
(p) = (void *)_q; \
} while (0)
(p) = (void *)_q; \
} while (0)