diff options
author | Steve Bennett <steveb@workware.net.au> | 2019-11-30 08:14:42 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2019-11-30 08:19:14 +1000 |
commit | decb1fb49f6578a6fc47348fae618482d5d23bb4 (patch) | |
tree | d7f371adfde29bd2c882e2bd39251bf6220327c1 | |
parent | 5802d3f5e49737b761c93fceba1d169e0a26b763 (diff) | |
download | jimtcl-decb1fb49f6578a6fc47348fae618482d5d23bb4.zip jimtcl-decb1fb49f6578a6fc47348fae618482d5d23bb4.tar.gz jimtcl-decb1fb49f6578a6fc47348fae618482d5d23bb4.tar.bz2 |
jimsh: interactive mode: print nulls
If the interp result contains embedded nulls, print the full
result.
Reported-by: dbohdan <dbohdan@dbohdan.com>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r-- | jim-interactive.c | 3 | ||||
-rw-r--r-- | jimsh.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/jim-interactive.c b/jim-interactive.c index baad909..4392347 100644 --- a/jim-interactive.c +++ b/jim-interactive.c @@ -261,7 +261,8 @@ int Jim_InteractivePrompt(Jim_Interp *interp) } result = Jim_GetString(Jim_GetResult(interp), &reslen); if (reslen) { - printf("%s\n", result); + fwrite(result, reslen, 1, stdout); + putchar('\n'); } } out: @@ -128,7 +128,10 @@ int main(int argc, char *const argv[]) JimSetArgv(interp, argc - 3, argv + 3); retcode = Jim_Eval(interp, argv[2]); if (retcode != JIM_ERR) { - printf("%s\n", Jim_String(Jim_GetResult(interp))); + int len; + const char *msg = Jim_GetString(Jim_GetResult(interp), &len); + fwrite(msg, len, 1, stdout); + putchar('\n'); } } else { |