]> andersk Git - splint.git/blob - test/db3/erc.h
f6fdb9b8c3badff4ddda30487127da8e7e564a72
[splint.git] / test / db3 / erc.h
1 # ifndef F_ERC_H
2 # define F_ERC_H
3
4 # include <assert.h>
5 # include "eref.h"
6
7 /*@-exporttype@*/ /* These types should not be exported, but are used in macros. */
8 typedef struct _elem { eref val; /*@null@*/ struct _elem *next; } ercElem;
9 typedef ercElem *ercList;
10 typedef struct { /*@null@*/ ercList vals; int size; } ercInfo;
11 /*@=exporttype@*/
12
13 typedef ercInfo *erc;
14
15 # include "erc.lh"
16
17 # define erc_size(c) ((c)->size)
18
19 # define erc_initMod() \
20     do { bool_initMod(); employee_initMod();\
21          eref_initMod(); } while (0)
22
23 # define erc_elements(c, m_x) \
24   { erc m_c = (c); ercElem *m_ec = (m_c)->vals; int m_i = 0; \
25     while (m_i < (m_c)->size) { \
26       eref m_x; assert (m_ec != NULL); m_x = m_ec->val; m_ec = m_ec->next; m_i++; 
27
28 # define end_erc_elements }}
29
30 # endif
This page took 0.235155 seconds and 3 git commands to generate.