summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/lua/rocklib.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/apps/plugins/lua/rocklib.c b/apps/plugins/lua/rocklib.c
index d6159e0ad3..c6b399c8a5 100644
--- a/apps/plugins/lua/rocklib.c
+++ b/apps/plugins/lua/rocklib.c
@@ -394,12 +394,22 @@ RB_WRAP(kbd_input)
394 luaL_Buffer b; 394 luaL_Buffer b;
395 luaL_buffinit(L, &b); 395 luaL_buffinit(L, &b);
396 396
397 const char *input = luaL_optstring(L, 1, NULL);
397 char *buffer = luaL_prepbuffer(&b); 398 char *buffer = luaL_prepbuffer(&b);
398 buffer[0] = '\0';
399 rb->kbd_input(buffer, LUAL_BUFFERSIZE);
400 luaL_addsize(&b, strlen(buffer));
401 399
402 luaL_pushresult(&b); 400 if(input != NULL)
401 rb->strlcpy(buffer, input, LUAL_BUFFERSIZE);
402 else
403 buffer[0] = '\0';
404
405 if(!rb->kbd_input(buffer, LUAL_BUFFERSIZE))
406 {
407 luaL_addsize(&b, strlen(buffer));
408 luaL_pushresult(&b);
409 }
410 else
411 lua_pushnil(L);
412
403 return 1; 413 return 1;
404} 414}
405 415