5 void yyerror (char const *);
25 } st; /* subtree type */
28 struct tree* c; /* condition */
29 struct tree* i; /* if */
30 struct tree* e; /* else */
37 JUST_BOOL /* value only in left, no op */
42 } cond; /* binary operator */
78 struct tree* input_tree;
81 #define CC(a,b) ((a<<8)|b)
82 void* xmalloc(size_t size);
83 void* xrealloc(void* buf, size_t size);
84 char* xstrdup(char* s);
85 void __attribute__ ((noreturn)) die(char* msg, ...);
86 void read_conf(char* filename);
146 int res; /* result */
150 int res; /* result */
168 struct list input_code;
169 struct list* var_hash;
172 int temp_varcode_start;
179 void compile(struct tree* t, struct list* where);
180 int find_var(char* name, struct list* hash);
181 int store_const(char* c);
182 struct list* new_var_hash(void);
183 int get_bucket_number(char* name);
184 void print_code(void);
195 struct list* headers;
200 void save_current_headers(struct list* hash);
201 void print_vars(struct list* hash);
202 void interp(struct list* ins, struct list* hash);
205 char* default_mailbox;
207 struct list* current_headers;
208 struct email* current_body;
209 struct list* make_hlist(void);
210 void print_headers(struct list* l);
211 struct email* get_body(void);
212 int deliver_local_email(char* folder, struct email* email);
215 void save_gids(void);
216 void close_mailbox(int fd, char* path, int is_default_mailbox);
217 int open_mailbox(char* path, int is_default_mailbox);
218 char* cat(char* l, char* r);