aboutsummaryrefslogtreecommitdiff
path: root/interp.c
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-07-24 17:12:42 +0800
committerMistivia <i@mistivia.com>2025-07-24 17:12:42 +0800
commit601ad7249add73d392b21c572921e0bbf6114e9f (patch)
tree8a545eafa0b37949efb51b0c91f8011d8ecca269 /interp.c
parentdec35ab80b9cc3b83b3a806835198b0a58cdc0cb (diff)
load path
Diffstat (limited to 'interp.c')
-rw-r--r--interp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/interp.c b/interp.c
index 4adcda2..75742f8 100644
--- a/interp.c
+++ b/interp.c
@@ -303,8 +303,15 @@ SExpRef Interp_load_file(Interp *interp, const char *filename) {
FILE *fp = NULL;
fp = fopen(filename, "r");
if (fp == NULL) {
- return new_error(interp, "Failed to open file: %s\n", filename);
- goto end;
+ str_builder_t sb;
+ init_str_builder(&sb);
+ str_builder_append(&sb, "/usr/local/share/bamboo-lisp/libs/%s", filename);
+ fp = fopen(sb.buf, "r");
+ free(sb.buf);
+ if (fp == NULL) {
+ return new_error(interp, "Failed to open file: %s\n", filename);
+ goto end;
+ }
}
Parser_set_file(interp->parser, fp);
SExpRef sexp, ret;