diff options
Diffstat (limited to 'debian/patches/bootshell0005-bootshell-add-facility-to-load-embedded-scripts.patch')
-rw-r--r-- | debian/patches/bootshell0005-bootshell-add-facility-to-load-embedded-scripts.patch | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/debian/patches/bootshell0005-bootshell-add-facility-to-load-embedded-scripts.patch b/debian/patches/bootshell0005-bootshell-add-facility-to-load-embedded-scripts.patch deleted file mode 100644 index 32bf8354..00000000 --- a/debian/patches/bootshell0005-bootshell-add-facility-to-load-embedded-scripts.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 208ce325d26d4393bd69e7d491891a25c4f5461a Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sat, 24 Jan 2015 01:54:52 +0100 -Subject: [PATCH hurd 05/11] bootshell: add facility to load embedded scripts - -* bootshell/scheme.c (scheme_load_mem): New function. ---- - bootshell/scheme-private.h | 3 +++ - bootshell/scheme.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 43 insertions(+) - -diff --git a/bootshell/scheme-private.h b/bootshell/scheme-private.h -index 3395328..bb4ebd6 100644 ---- a/bootshell/scheme-private.h -+++ b/bootshell/scheme-private.h -@@ -36,6 +36,9 @@ typedef struct port { - char *start; - char *past_the_end; - char *curr; -+#if SHOW_ERROR_LINE -+ const char *name; -+#endif - } string; - } rep; - } port; -diff --git a/bootshell/scheme.c b/bootshell/scheme.c -index 99f9106..bdeb004 100644 ---- a/bootshell/scheme.c -+++ b/bootshell/scheme.c -@@ -2312,6 +2312,18 @@ static pointer _Error_1(scheme *sc, const char *s, pointer a) { - snprintf(sbuf, STRBUFFSIZE, "(%s : %i) %s", fname, ln, s); - - str = (const char*)sbuf; -+ } else if (sc->load_stack[sc->file_i].kind & port_string) { -+ const char *start = sc->load_stack[sc->file_i].rep.string.start; -+ const char *curr = sc->load_stack[sc->file_i].rep.string.curr; -+ const char *name = sc->load_stack[sc->file_i].rep.string.name; -+ -+ /* should never happen */ -+ if (!name) name = "<unknown>"; -+ -+ /* we started from 0 */ -+ snprintf(sbuf, STRBUFFSIZE, "(%s offset %i) %s", name, curr-start, s); -+ -+ str = (const char*)sbuf; - } - #endif - -@@ -5049,3 +5061,31 @@ Local variables: - c-file-style: "k&r" - End: - */ -+ -+/* Like scheme_load_string, but does not rely on a terminating zero. */ -+void -+scheme_load_mem (scheme *sc, const char *cmd_start, const char *cmd_end, -+ const char *name) -+{ -+ dump_stack_reset(sc); -+ sc->envir = sc->global_env; -+ sc->file_i=0; -+ sc->load_stack[0].kind=port_input|port_string; -+ /* This func respects const */ -+ sc->load_stack[0].rep.string.start=(char*) cmd_start; -+ sc->load_stack[0].rep.string.past_the_end=(char*) cmd_end; -+ sc->load_stack[0].rep.string.curr=(char*) cmd_start; -+#if SHOW_ERROR_LINE -+ sc->load_stack[0].rep.string.name = name; -+#endif -+ sc->loadport=mk_port(sc,sc->load_stack); -+ sc->retcode=0; -+ sc->interactive_repl=0; -+ sc->inport=sc->loadport; -+ sc->args = mk_integer(sc,sc->file_i); -+ Eval_Cycle(sc, OP_T0LVL); -+ typeflag(sc->loadport)=T_ATOM; -+ if(sc->retcode==0) { -+ sc->retcode=sc->nesting!=0; -+ } -+} --- -2.1.4 - |