// internal counter
// used whenever a new unique number might be needed
int icntr;
+
+ // all include search paths
+ char **include_paths;
+ int include_paths_len;
};
extern struct ulas ulas;
struct ulas_config ulas_cfg_from_env(void);
void ulas_init(struct ulas_config cfg);
void ulas_free(void);
+void ulas_pushincpath(const char *path);
+FILE* ulas_incpathfopen(const char *path, const char *mode);
int ulas_main(struct ulas_config cfg);
ulas_exprbuffree(&ulas.exprs);
ulas_symbuffree(&ulas.syms);
ulas_preprocfree(&ulas.pp);
+
+ if (ulas.include_paths) {
+ for (int i = 0; i < ulas.include_paths_len; i++) {
+ free(ulas.include_paths[i]);
+ }
+ free(ulas.include_paths);
+ }
+}
+
+void ulas_pushincpath(const char *path) {}
+FILE* ulas_incpathfopen(const char *path, const char *mode) {
+ return NULL;
}
int ulas_icntr(void) { return ulas.icntr++; }