aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorosch <oliver at luced de>2018-09-04 21:33:12 +0200
committerosch <oliver at luced de>2018-09-04 21:36:07 +0200
commitf5f119f51a0241f8bbb1f8710fb37119b375539b (patch)
tree58cfbc3da6475096b0f3c28786e701fbbc7e723e
parent00ca97711b657c7d395d91212364a82dac1d4625 (diff)
downloadlua-llthreads2-f5f119f51a0241f8bbb1f8710fb37119b375539b.tar.gz
lua-llthreads2-f5f119f51a0241f8bbb1f8710fb37119b375539b.tar.bz2
lua-llthreads2-f5f119f51a0241f8bbb1f8710fb37119b375539b.zip
avoid NULL as parameter to fputs()
-rw-r--r--.travis.yml1
-rw-r--r--appveyor.yml1
-rw-r--r--lakefile1
-rw-r--r--src/llthread.c3
-rw-r--r--test/test_error.lua17
5 files changed, 22 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 19f6f5b..1f52bf6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -58,6 +58,7 @@ script:
58 - lua test_threads_attr.lua 58 - lua test_threads_attr.lua
59 - lua test_integer.lua 59 - lua test_integer.lua
60 - lua test_interrupt.lua 60 - lua test_interrupt.lua
61 - lua test_error.lua
61 # - lua test_register_llthreads.lua 62 # - lua test_register_llthreads.lua
62 63
63notifications: 64notifications:
diff --git a/appveyor.yml b/appveyor.yml
index 46a3235..b405930 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -73,6 +73,7 @@ test_script:
73 - lua test_threads_attr.lua 73 - lua test_threads_attr.lua
74 - lua test_integer.lua 74 - lua test_integer.lua
75 - lua test_interrupt.lua 75 - lua test_interrupt.lua
76 - lua test_error.lua
76 # - lua test_register_llthreads.lua 77 # - lua test_register_llthreads.lua
77 78
78after_test: 79after_test:
diff --git a/lakefile b/lakefile
index af9661e..a5cb006 100644
--- a/lakefile
+++ b/lakefile
@@ -45,6 +45,7 @@ target('test', install, function()
45 run_test('test_threads_ex_opt_2.lua') 45 run_test('test_threads_ex_opt_2.lua')
46 run_test('test_threads_attr.lua') 46 run_test('test_threads_attr.lua')
47 run_test('test_interrupt.lua') 47 run_test('test_interrupt.lua')
48 run_test('test_error.lua')
48 49
49 50
50 if not test_summary() then 51 if not test_summary() then
diff --git a/src/llthread.c b/src/llthread.c
index 66efe7c..57f8dc3 100644
--- a/src/llthread.c
+++ b/src/llthread.c
@@ -135,7 +135,8 @@ void llthread_log(lua_State *L, const char *hdr, const char *msg){
135 if(lua_isnil(L, -1)){ 135 if(lua_isnil(L, -1)){
136 lua_pop(L, 1); 136 lua_pop(L, 1);
137 fputs(hdr, stderr); 137 fputs(hdr, stderr);
138 fputs(msg, stderr); 138 if (msg) fputs(msg, stderr);
139 else fputs("(no error message)", stderr);
139 fputc('\n', stderr); 140 fputc('\n', stderr);
140 fflush(stderr); 141 fflush(stderr);
141 return; 142 return;
diff --git a/test/test_error.lua b/test/test_error.lua
new file mode 100644
index 0000000..1407ea8
--- /dev/null
+++ b/test/test_error.lua
@@ -0,0 +1,17 @@
1local llthreads = require"llthreads"
2local utils = require "utils"
3
4local include = utils.thread_init .. [[
5local llthreads = require"llthreads"
6]]
7
8local thread = llthreads.new(include .. [[
9 error({})
10]])
11
12thread:start()
13local ok, err = thread:join()
14print(ok, err)
15assert(not ok)
16print("Done!")
17