From 6cbc26911ba0ad774e1ae41a8740fbdb082974d8 Mon Sep 17 00:00:00 2001
From: Recolic K <bensl@microsoft.com>
Date: Wed, 9 Mar 2022 14:08:11 +0800
Subject: [PATCH] remove tailing newline, remove title line in programming mode

---
 json2table.cc |  7 +++----
 test/answers  | 40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/json2table.cc b/json2table.cc
index 700e571..4b34bca 100644
--- a/json2table.cc
+++ b/json2table.cc
@@ -76,7 +76,7 @@ void naive_json_access_path(json &input, rlib::string json_path) {
 int main(int argc, char **argv) {
     rlib::opt_parser args(argc, argv);
     if(args.getBoolArg("-h", "--help")) {
-        rlib::println("json2table version 1.0.5-2, maintainer Recolic Keghart <root@recolic.net>");
+        rlib::println("json2table version 1.0.6, maintainer Recolic Keghart <root@recolic.net>");
         rlib::println("Usage: cat xxx.json | json2table");
         rlib::println("Usage: curl https://myapi/getJson | json2table /path/to/subobject");
         rlib::println("Set --programming / -p to make the output easier for program to process. ");
@@ -141,9 +141,8 @@ int main(int argc, char **argv) {
     ////////////////////// Print-out the table
 
     if(program_mode) {
-        rlib::println(rlib::printable_iter(headers, "|"));
         for(auto &row : rows) {
-            rlib::println(rlib::printable_iter(row, "|"));
+            if(!row.empty()) rlib::println(rlib::printable_iter(row, "|"));
         }
     }
     else {
@@ -157,7 +156,7 @@ int main(int argc, char **argv) {
             table << fort::endr;
         }
 
-        rlib::println(table.to_string());
+        rlib::print(table.to_string());
     }
 
 }
diff --git a/test/answers b/test/answers
index 2c546a4..c05748a 100644
--- a/test/answers
+++ b/test/answers
@@ -78,3 +78,43 @@ f75cc9cbc7c5da5d5fc8d755b47c823f86e5ea5752978fcd822bfc6022e1ccb4LS0gMi5qc29uIC9p
 772fd278789db1083f8701aeae35405f898d74f778ed0eb9ae13c4a9198d85fcLS0gMy5qc29uIC9wYXlsb2FkL2NvbW1pdHMsaGVhZCxhY3Rpb24gLXAK
 2ee6cffe37ad185bb27ef0342dd4d1d77a985d8b4f5edbfbdd2d367b303b33d0LS0gMy5qc29uIC9wYXlsb2FkL2NvbW1pdHMgLXAK
 be9ac75fe4781b6312aa0fda78b392f7e4b3ca5099178d723f1e7e5f7312e777LS0gMy5qc29uIC9wYXlsb2FkIC1wCg==
+6f7808fc1f39b029d26a3d2198e1fa5cb61245edf2dc96f666518cfbddf220efLS0gMS5qc29uCg==
+6f7808fc1f39b029d26a3d2198e1fa5cb61245edf2dc96f666518cfbddf220efLS0gMS5qc29uIC8K
+300d1fec1e7e022452a65f6e42c466517b8287b2c25fe3e4a1b0321120145f3eLS0gMS5qc29uIC92bQo=
+e2783d37b04d30b133e4ba64d9f9e64e1c2154294aae8fed97c8737ff7f6faedLS0gMS5qc29uIC92bS9pcAo=
+3e4d1d5dbb7930fee4bc4c6d2d8a3aecb990aceca77c9247dada2aa9509b8186LS0gMS5qc29uIC92bS9pcCxwYXNzd29yZAo=
+34f5f5a4a506ef8b52f65ebbc7c1f7d4751a7f98c6f3581c09a574259a65e3d7LS0gMS5qc29uIC92bSxub25lCg==
+e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855LS0gMS5qc29uIC92bS9pcC9ub25lCg==
+d35fae18a7d898496458e6e047985b6419911e024477a5e14fb6104257c908b5LS0gMS5qc29uIC92bS9pcCxwYXNzd29yZC9ub25lCg==
+0c1962dc43026529d005d2726d68e04e553c573b6f9384f905c6d3041c46c508LS0gMS5qc29uIC92bSxub25lL2lwCg==
+f326e229cd63a520c50ebdc0630aa08b649910a013575a36b6ed3b1196e276bfLS0gMi5qc29uIC8K
+e233f3f411a5c7a3b9d524dea30897caef8fd64ec996d27bd5a80e64aade5bc1LS0gMi5qc29uIC9sYWJzCg==
+8f6cf4f9a6f12ae6bd42155c53dd61f0a3557b724dd2bfb433985abd2655fdbfLS0gMi5qc29uIC9tZWRpY2F0aW9ucwo=
+0c1962dc43026529d005d2726d68e04e553c573b6f9384f905c6d3041c46c508LS0gMi5qc29uIC9sYWJzLG1lZGljYXRpb25zL25hbWUK
+2779e990520f609638a7d1cdf4a635f97d7404e054f4835b76ed48a983818050LS0gMi5qc29uIC9tZWRpY2F0aW9ucy9taW5lcmFsCg==
+2779e990520f609638a7d1cdf4a635f97d7404e054f4835b76ed48a983818050LS0gMi5qc29uIC9tZWRpY2F0aW9ucy9taW5lcmFsLwo=
+f326e229cd63a520c50ebdc0630aa08b649910a013575a36b6ed3b1196e276bfLS0gMi5qc29uIC8vLy8vLy8K
+0c1962dc43026529d005d2726d68e04e553c573b6f9384f905c6d3041c46c508LS0gMi5qc29uIC9pbWFnaW5nLGxhYnMvbG9jYXRpb24K
+d31440a27334d901c1629656eb3598e7ca394b3d829b905626076045737c9453LS0gMy5qc29uIC9wYXlsb2FkL2NvbW1pdHMsaGVhZCxhY3Rpb24K
+3c415812bce0140888d90dd09f78a5e1045ad6d8ee13eac4751842404b32b30dLS0gMy5qc29uIC9wYXlsb2FkL2NvbW1pdHMK
+e9aa21255980931bcd8f4bacc40f59b5f7142fd0fe25682ebbdda4cf4949636bLS0gMy5qc29uIC9wYXlsb2FkCg==
+6f7808fc1f39b029d26a3d2198e1fa5cb61245edf2dc96f666518cfbddf220efLS0gMS5qc29uCg==
+b7935e2c3b4974d7d6894a5b05b626f342162e03723d7905cea3bd054b2bb57aLS0gMS5qc29uIC8gLXAK
+644ead988d726ace4a13f3c306ea554e1729da70581a32bbe970b2788194471fLS0gMS5qc29uIC92bSAtcAo=
+523f850ed8e9f1b31e699c7977bf687edc2a30fd8413308fdca8909c229a9ea4LS0gMS5qc29uIC92bS9pcCAtcAo=
+28a516f6ebed9672b85cee5eab83135fb90c65fc7fd096ed0e519027ed55287eLS0gMS5qc29uIC92bS9pcCxwYXNzd29yZCAtcAo=
+82c0db542f229d42e8fc9f146d29168189efab44f00ae70d8ccb6e94c47d8344LS0gMS5qc29uIC92bSxub25lIC1wCg==
+e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855LS0gMS5qc29uIC92bS9pcC9ub25lIC1wCg==
+dde2e9b0550fb1534468f299627b2f14ec7c10d249a89b0d9cc0d574aec1273bLS0gMS5qc29uIC92bS9pcCxwYXNzd29yZC9ub25lIC1wCg==
+f75cc9cbc7c5da5d5fc8d755b47c823f86e5ea5752978fcd822bfc6022e1ccb4LS0gMS5qc29uIC92bSxub25lL2lwIC1wCg==
+7e440d19e81e9f448353bae27a63bcba100669376f1b138048806b39840e0758LS0gMi5qc29uIC8gLXAK
+77d00107487aac9d0662c42b92406d6dde354f08ddc338f37143cedb9e0846f5LS0gMi5qc29uIC9sYWJzIC1wCg==
+b7498016437c2535dd25f2b67e4b690d74e8d76e7e65f12766ca75b943932e6bLS0gMi5qc29uIC9tZWRpY2F0aW9ucyAtcAo=
+f75cc9cbc7c5da5d5fc8d755b47c823f86e5ea5752978fcd822bfc6022e1ccb4LS0gMi5qc29uIC9sYWJzLG1lZGljYXRpb25zL25hbWUgLXAK
+13c3bb68fcf51e09a704a5d9f04597cae19393ea646c89a0e38766e83af527e7LS0gMi5qc29uIC9tZWRpY2F0aW9ucy9taW5lcmFsIC1wCg==
+13c3bb68fcf51e09a704a5d9f04597cae19393ea646c89a0e38766e83af527e7LS0gMi5qc29uIC9tZWRpY2F0aW9ucy9taW5lcmFsLyAtcAo=
+7e440d19e81e9f448353bae27a63bcba100669376f1b138048806b39840e0758LS0gMi5qc29uIC8vLy8vLy8gLXAK
+f75cc9cbc7c5da5d5fc8d755b47c823f86e5ea5752978fcd822bfc6022e1ccb4LS0gMi5qc29uIC9pbWFnaW5nLGxhYnMvbG9jYXRpb24gLXAK
+772fd278789db1083f8701aeae35405f898d74f778ed0eb9ae13c4a9198d85fcLS0gMy5qc29uIC9wYXlsb2FkL2NvbW1pdHMsaGVhZCxhY3Rpb24gLXAK
+2ee6cffe37ad185bb27ef0342dd4d1d77a985d8b4f5edbfbdd2d367b303b33d0LS0gMy5qc29uIC9wYXlsb2FkL2NvbW1pdHMgLXAK
+be9ac75fe4781b6312aa0fda78b392f7e4b3ca5099178d723f1e7e5f7312e777LS0gMy5qc29uIC9wYXlsb2FkIC1wCg==
-- 
GitLab