void* xmalloc(size_t size);
char* xstrdup(char* s);
void __attribute__ ((noreturn)) die(char* msg, ...);
+void read_conf(char* filename);
int line;
+FILE* conf;
/* int.c */
struct variable {
struct variable* next;
};
+struct hlist {
+ char* name;
+ char* value;
+ struct hlist* next;
+};
+
struct variable** var_hash;
void print_tree(struct tree* t, int ind);
void interp(struct tree* t, struct variable** hash);
struct variable** new_var_hash(void);
void print_vars(struct variable** hash);
+void save_current_headers(struct variable** hash);
+
+/* ham.c */
+struct hlist* current_headers;
+struct hlist* make_hlist();
+void print_headers();