File: erc.h

package info (click to toggle)
splint 3.1.2.dfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 12,908 kB
  • ctags: 15,816
  • sloc: ansic: 150,306; yacc: 3,463; sh: 3,426; makefile: 2,218; lex: 412
file content (30 lines) | stat: -rw-r--r-- 786 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# ifndef F_ERC_H
# define F_ERC_H

# include <assert.h>
# include "eref.h"

/*@-exporttype@*/ /* These types should not be exported, but are used in macros. */
typedef struct s_elem { eref val; /*@null@*/ struct s_elem *next; } ercElem;
typedef ercElem *ercList;
typedef struct { /*@null@*/ ercList vals; int size; } ercInfo;
/*@=exporttype@*/

typedef ercInfo *erc;

# include "erc.lh"

# define erc_size(c) ((c)->size)

# define erc_initMod() \
    do { bool_initMod(); employee_initMod();\
         eref_initMod(); } while (FALSE)

# define erc_elements(c, m_x) \
  { erc m_c = (c); ercElem *m_ec = (m_c)->vals; int m_i = 0; \
    while (m_i < (m_c)->size) { \
      eref m_x; assert (m_ec != NULL); m_x = m_ec->val; m_ec = m_ec->next; m_i++; 

# define end_erc_elements }}

# endif