5 void yyerror (char const *);
17 } st; /* subtree type */
20 struct tree* c; /* condition */
21 struct tree* i; /* if */
22 struct tree* e; /* else */
33 } cond; /* binary operator */
68 struct tree* input_tree;
71 #define CC(a,b) ((a<<8)|b)
72 void* xmalloc(size_t size);
73 void* xrealloc(void* buf, size_t size);
74 char* xstrdup(char* s);
75 void __attribute__ ((noreturn)) die(char* msg, ...);
76 void read_conf(char* filename);
107 struct list* var_hash;
108 char* default_mailbox;
110 void print_tree(struct tree* t, int ind);
111 void interp(struct tree* t, struct list* hash);
112 struct list* new_var_hash(void);
113 void print_vars(struct list* hash);
114 void save_current_headers(struct list* hash);
117 struct list* current_headers;
118 struct email* current_body;
119 struct list* make_hlist(void);
120 void print_headers(struct list* l);
121 void do_action(struct action* a);
122 struct email* get_body(void);
125 void save_gids(void);
126 void close_mailbox(int fd, char* path, int is_default_mailbox);
127 int open_mailbox(char* path, int is_default_mailbox);
128 char* cat(char* l, char* r);