[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/LIBLUA PATCH] Fix broken behaviour when given append parameter.
This patch makes it so that Lua now goes straight into interactive mode when not given initrd as a parameter; previosuly it was assuming that the --append parameter was a file name to be read and executed, which was broken. Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx> --- Makefile.uk | 2 +- ...t.patch => 0001-lua-main-add-initrd.patch} | 23 ++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) rename patches/{0001-add-initrd-rename-entry-point.patch => 0001-lua-main-add-initrd.patch} (60%) diff --git a/Makefile.uk b/Makefile.uk index 3c3d05a..4a855ab 100644 --- a/Makefile.uk +++ b/Makefile.uk @@ -39,7 +39,7 @@ LIBLUA_SRCS-$(CONFIG_LIBLUA_MAIN_FUNCTION) += $(LIBLUA_BASE)/main.c ################################################################################ # Library flags ################################################################################ -LIBLUA_SUPPRESS_FLAGS += -Wno-implicit-function-declaration +LIBLUA_SUPPRESS_FLAGS += -Wno-implicit-function-declaration -Wno-unused-function LIBLUA_FLAGS += -DLUA_COMPAT_5_2 LIBLUA_CFLAGS-y += $(LIBLUA_FLAGS) $(LIBLUA_SUPPRESS_FLAGS) diff --git a/patches/0001-add-initrd-rename-entry-point.patch b/patches/0001-lua-main-add-initrd.patch similarity index 60% rename from patches/0001-add-initrd-rename-entry-point.patch rename to patches/0001-lua-main-add-initrd.patch index 135a0c4..ecfb8f0 100644 --- a/patches/0001-add-initrd-rename-entry-point.patch +++ b/patches/0001-lua-main-add-initrd.patch @@ -1,5 +1,5 @@ --- a/src/lua.c 2017-04-19 19:29:57.000000000 +0200 -+++ b/src/lua.c 2019-09-03 13:36:09.437807890 +0200 ++++ b/src/lua.c 2020-02-12 19:38:09.704428160 +0100 @@ -6,6 +6,8 @@ #define lua_c @@ -19,19 +19,30 @@ int args = collectargs(argv, &script); luaL_checkversion(L); /* check that interpreter has correct version */ if (argv[0] && argv[0][0]) progname = argv[0]; -@@ -581,6 +586,11 @@ - return 0; +@@ -576,24 +581,23 @@ + } + if (!runargs(L, argv, script)) /* execute arguments -e and -l */ + return 0; /* something failed */ +- if (script < argc && /* execute main script (if there is one) */ +- handle_script(L, argv + script) != LUA_OK) +- return 0; if (args & has_i) /* -i option? */ doREPL(L); /* do read-eval-print loop */ +- else if (script == argc && !(args & (has_e | has_v))) { /* no arguments? */ +- if (lua_stdin_is_tty()) { /* running in interactive mode? */ + /* see if script is available from initrd */ + else if (ukplat_memregion_find_initrd0(&img) >= 0) { + cstr = (char *)img.base; + dostring(L, cstr, "initrd"); + } - else if (script == argc && !(args & (has_e | has_v))) { /* no arguments? */ - if (lua_stdin_is_tty()) { /* running in interactive mode? */ ++ else { print_version(); -@@ -593,7 +603,7 @@ + doREPL(L); /* do read-eval-print loop */ +- } +- else dofile(L, NULL); /* executes stdin as a file */ + } + lua_pushboolean(L, 1); /* signal no errors */ + return 1; } -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |