diff options
author | osch <oliver at luced de> | 2018-09-04 21:33:12 +0200 |
---|---|---|
committer | osch <oliver at luced de> | 2018-09-04 21:36:07 +0200 |
commit | f5f119f51a0241f8bbb1f8710fb37119b375539b (patch) | |
tree | 58cfbc3da6475096b0f3c28786e701fbbc7e723e | |
parent | 00ca97711b657c7d395d91212364a82dac1d4625 (diff) | |
download | lua-llthreads2-f5f119f51a0241f8bbb1f8710fb37119b375539b.tar.gz lua-llthreads2-f5f119f51a0241f8bbb1f8710fb37119b375539b.tar.bz2 lua-llthreads2-f5f119f51a0241f8bbb1f8710fb37119b375539b.zip |
avoid NULL as parameter to fputs()
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | appveyor.yml | 1 | ||||
-rw-r--r-- | lakefile | 1 | ||||
-rw-r--r-- | src/llthread.c | 3 | ||||
-rw-r--r-- | test/test_error.lua | 17 |
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 | ||
63 | notifications: | 64 | notifications: |
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 | ||
78 | after_test: | 79 | after_test: |
@@ -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 @@ | |||
1 | local llthreads = require"llthreads" | ||
2 | local utils = require "utils" | ||
3 | |||
4 | local include = utils.thread_init .. [[ | ||
5 | local llthreads = require"llthreads" | ||
6 | ]] | ||
7 | |||
8 | local thread = llthreads.new(include .. [[ | ||
9 | error({}) | ||
10 | ]]) | ||
11 | |||
12 | thread:start() | ||
13 | local ok, err = thread:join() | ||
14 | print(ok, err) | ||
15 | assert(not ok) | ||
16 | print("Done!") | ||
17 | |||