Skip to content

Commit

Permalink
Fix broken behaviour when given append parameter.
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: Simon Kuenzer <[email protected]>
  • Loading branch information
felipehuici authored and skuenzer committed Feb 13, 2020
1 parent 9b3f3da commit b33791c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Makefile.uk
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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;
}


Expand Down

0 comments on commit b33791c

Please sign in to comment.