Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package jo for openSUSE:Factory checked in 
at 2022-11-04 17:38:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jo (Old)
 and      /work/SRC/openSUSE:Factory/.jo.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jo"

Fri Nov  4 17:38:03 2022 rev:7 rq:1033524 version:1.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/jo/jo.changes    2022-01-11 21:24:33.565182069 
+0100
+++ /work/SRC/openSUSE:Factory/.jo.new.2275/jo.changes  2022-11-04 
17:41:56.138995337 +0100
@@ -1,0 +2,9 @@
+Sat Oct 29 14:19:36 UTC 2022 - Martin Hauke <mar...@gmx.de>
+
+- Update to versino 1.7
+  * FIX: fix reading of long lines from stdin and refactor
+    slurp_file() in the process.
+  * NEW: Add option -o outfile for when not run from a shell and
+    redirect '>' is not an option.
+
+-------------------------------------------------------------------

Old:
----
  jo-1.6.tar.gz

New:
----
  jo-1.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ jo.spec ++++++
--- /var/tmp/diff_new_pack.6eWK8z/_old  2022-11-04 17:41:56.626997887 +0100
+++ /var/tmp/diff_new_pack.6eWK8z/_new  2022-11-04 17:41:56.634997928 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           jo
-Version:        1.6
+Version:        1.7
 Release:        0
 Summary:        JSON output from a shell
 License:        GPL-2.0-or-later AND MIT

++++++ jo-1.6.tar.gz -> jo-1.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/ChangeLog new/jo-1.7/ChangeLog
--- old/jo-1.6/ChangeLog        2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/ChangeLog        2022-10-29 15:26:13.000000000 +0200
@@ -1,4 +1,10 @@
 
+2022-10-29 1.7
+- FIX: fix warnings on Windows build and reimplement err{x,} functions (#193)
+- FIX: fix reading of long lines from stdin and refactor slurp_file() in the 
process. (#192)
+- NEW: Add option -o outfile for when not run from a shell and redirect '>' is 
not an option. (#189)
+- FIX: fix tables in jo.md (#167)
+
 2022-01-05 1.6
 
 - FIX: repair tests broken by AUTHORS change (#164)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/Makefile.am new/jo-1.7/Makefile.am
--- old/jo-1.6/Makefile.am      2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/Makefile.am      2022-10-29 15:26:13.000000000 +0200
@@ -28,7 +28,7 @@
 jo.md: jo.pandoc
        @test -n "$(PANDOC)" || \
          { echo 'pandoc' not found during configure.; exit 1; }
-       $(PANDOC) -s -w markdown+simple_tables -f markdown -o $@ $<
+       $(PANDOC) -s -w gfm -f markdown-smart -o $@ $<
 
 endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/README.md new/jo-1.7/README.md
--- old/jo-1.6/README.md        2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/README.md        2022-10-29 15:26:13.000000000 +0200
@@ -43,7 +43,7 @@
 To install from the repository, you will need a C compiler as well as a 
relatively recent version of _automake_ and _autoconf_.
 
 ```bash
-git clone git://github.com/jpmens/jo.git
+git clone https://github.com/jpmens/jo.git
 cd jo
 autoreconf -i
 ./configure
@@ -51,32 +51,63 @@
 make install
 ```
 
-## Homebrew
+## Install
+
+### Homebrew
 
 ```bash
 brew install jo
 ```
 
-## Ubuntu
+### MacPorts
+
+```bash
+sudo port install jo
+```
+
+### Ubuntu
 
 ```
 apt-get install jo
 ```
 
-## Gentoo
+### Gentoo
 
 ```
 emerge jo
 ```
 
-## Snap
+### Fedora
+
+```
+dnf install jo
+```
+
+### Snap
 
 Thanks to [Roger 
Light](https://twitter.com/ralight/status/1166023769623867398), _jo_ is 
available as a [snap package](https://snapcraft.io/jo). Use `snap install jo` 
from a Linux distro that supports snaps.
 
+### Windows
+```cmd
+scoop install jo
+```
+
+### Windows WSL2
+
+As shown in [#175](https://github.com/jpmens/jo/issues/175) when using _git_ 
on Windows WSL2 it should be necessary to disable automatic CRLF conversion in 
_git_ or the tests will fail:
+
+```cmd
+git config --local core.autocrlf false
+```
+
+### AIX
+
+_jo_ builds and passes all tests on AIX 7.1 using the _autoconf_, _automake_, 
_gcc_, and _pkg-config_ RPMs from IBM's [AIX Toolbox for Open Source 
Software](https://www.ibm.com/support/pages/node/883796).  The _xlclang_ 
compiler from IBM's xlC/C++ suite for AIX will also build _jo_.
+
 ## Others
 
 * 
[voidlinux](https://github.com/voidlinux/void-packages/tree/master/srcpkgs/jo)
-* [ArchLinux](https://aur.archlinux.org/packages/jo/)
+* [ArchLinux](https://archlinux.org/packages/community/x86_64/jo/)
 * [OpenBSD](http://openports.se/textproc/jo)
 * [FreeBSD](https://www.freshports.org/textproc/jo)
 * [Guix](https://guix.gnu.org/packages/jo-1.4/)
@@ -92,4 +123,4 @@
 
 ## Credits
 
-* `json.[ch]` by 2011 Joseph A. Adams (joeyadams3.14...@gmail.com).
+* `json.[ch]` by 2011 Joseph A. Adams (joeyadams3.14159[at]gmail.com).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/configure.ac new/jo-1.7/configure.ac
--- old/jo-1.6/configure.ac     2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/configure.ac     2022-10-29 15:26:13.000000000 +0200
@@ -1,5 +1,5 @@
 AC_PREREQ([2.63])
-AC_INIT([jo], [1.6], [j...@mens.de])
+AC_INIT([jo], [1.7], [j...@mens.de])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_SRCDIR([jo.c])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/jo.c new/jo-1.7/jo.c
--- old/jo-1.6/jo.c     2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/jo.c     2022-10-29 15:26:13.000000000 +0200
@@ -4,9 +4,11 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
-#include <getopt.h>
+#ifndef _AIX
+# include <getopt.h>
+#endif
 #include <ctype.h>
-#ifndef WIN32
+#if !defined(WIN32) && !defined(_AIX)
 # include <err.h>
 #endif
 #include "json.h"
@@ -44,9 +46,36 @@
 
 static JsonNode *pile;         /* pile of nested objects/arrays */
 
-#ifdef _WIN32
-# define err(n, s)     { fprintf(stderr, s); exit(n); }
-# define errx(n, f, a) { fprintf(stderr, f, a); exit(n); }
+#if defined(_WIN32) || defined(_AIX)
+#include <errno.h>
+#include <stdarg.h>
+static inline void err(int eval, const char *fmt, ...) {
+       int errnum = errno;
+
+       va_list ap;
+       va_start(ap, fmt);
+
+       fprintf(stderr, "jo: ");
+       vfprintf(stderr, fmt, ap);
+       fprintf(stderr, ": %s\n", strerror(errnum));
+
+       va_end(ap);
+       exit(eval);
+}
+static inline void errx(int eval, const char *fmt, ...) {
+       va_list ap;
+       va_start(ap, fmt);
+
+       fprintf(stderr, "jo: ");
+       vfprintf(stderr, fmt, ap);
+       fprintf(stderr, "\n");
+
+       va_end(ap);
+       exit(eval);
+}
+#endif
+
+#if defined(_WIN32) && !defined(fseeko)
 # define fseeko        fseek
 # define ftello        ftell
 #endif
@@ -57,6 +86,8 @@
 #define TAG_FLAG_NUMBER   (TAG_TO_FLAGS(JSON_NUMBER))
 #define COERCE_MASK       (TAG_FLAG_BOOL | TAG_FLAG_STRING | TAG_FLAG_NUMBER)
 
+#define debug(format, args...) fprintf (stderr, format, args)
+
 JsonTag flags_to_tag(int flags) {
        return flags / (FLAG_MASK + 1);
 }
@@ -101,11 +132,45 @@
        }
 }
 
-char *slurp_file(const char* filename, size_t *out_len, bool fold_newlines)
+char *slurp(FILE *fp, off_t bufblk_sz, int eos_char, size_t *out_len, bool 
fold_newlines)
 {
        char *buf;
        int i = 0;
-       int ch;
+       int ch = EOF;
+       off_t buffer_len = bufblk_sz;
+
+       if ((buf = malloc(buffer_len)) == NULL) {
+               i = -1;
+       } else {
+               while ((ch = fgetc(fp)) != eos_char && ch != EOF) {
+                       if (i == (buffer_len - 1)) {
+                               buffer_len += bufblk_sz;
+                               if ((buf = realloc(buf, buffer_len)) == NULL) {
+                                       i = -1;
+                                       break;
+                               }
+                       }
+                       if (ch != '\n' || !fold_newlines) {
+                               buf[i++] = ch;
+                       }
+               }
+       }
+       if (ch == EOF && i <= 0) {
+               /* EOF at first read */
+               if (buf) {
+                       free(buf);
+                       buf = NULL;
+               }
+       } else if (buf) {
+               buf[i] = 0;
+       }
+       *out_len = i;
+       return buf;
+}
+
+char *slurp_file(const char* filename, size_t *out_len, bool fold_newlines)
+{
+       char *buf;
        off_t buffer_len;
        FILE *fp;
        bool use_stdin = strcmp(filename, "-") == 0;
@@ -125,24 +190,23 @@
                fseeko(fp, 0, SEEK_SET);
        }
 
-       if ((buf = malloc(buffer_len)) == NULL) {
+       buf = slurp(fp, buffer_len, EOF, out_len, fold_newlines);
+       if (*out_len == (size_t)-1) {
                errx(1, "File %s is too large to be read into memory", 
filename);
        }
-       while ((ch = fgetc(fp)) != EOF) {
-               if (i == (buffer_len - 1)) {
-                       buffer_len += SLURP_BLOCK_SIZE;
-                       if ((buf = realloc(buf, buffer_len)) == NULL) {
-                               errx(1, "File %s is too large to be read into 
memory", filename);
-                       }
-               }
-               if (ch != '\n' || !fold_newlines) {
-                       buf[i++] = ch;
-               }
-       }
        if (!use_stdin) fclose(fp);
-       buf[i] = 0;
-       *out_len = i;
-       return (buf);
+       return buf;
+}
+
+char *slurp_line(FILE *fp, size_t *out_len)
+{
+       char *buf;
+
+       buf = slurp(fp, SLURP_BLOCK_SIZE, '\n', out_len, false);
+       if (*out_len == (size_t)-1) {
+               errx(1, "Line too large to be read into memory");
+       }
+       return buf;
 }
 
 JsonNode *jo_mknull(JsonTag type) {
@@ -336,7 +400,7 @@
 
 int usage(char *prog)
 {
-       fprintf(stderr, "Usage: %s [-a] [-B] [-D] [-d keydelim] [-p] [-e] [-n] 
[-v] [-V] [-f file] [--] [-s|-n|-b] [word...]\n", prog);
+       fprintf(stderr, "Usage: %s [-a] [-B] [-D] [-d keydelim] [-p] [-e] [-n] 
[-o outfile] [-v] [-V] [-f file] [--] [-s|-n|-b] [word...]\n", prog);
        fprintf(stderr, "\tword is key=value or key@value\n");
        fprintf(stderr, "\t-a creates an array of words\n");
        fprintf(stderr, "\t-B disable boolean true/false/null detection\n");
@@ -348,6 +412,7 @@
        fprintf(stderr, "\t-s coerce type guessing to string\n");
        fprintf(stderr, "\t-b coerce type guessing to bool\n");
        fprintf(stderr, "\t-n coerce type guessing to number\n");
+       fprintf(stderr, "\t-o output to the given file\n");
        fprintf(stderr, "\t-v show version\n");
        fprintf(stderr, "\t-V show version in JSON\n");
 
@@ -504,7 +569,7 @@
        if (len == 0) {
                return strdup("");
        }
-       if (len == -1) {
+       if (len == (size_t)-1) {
                len = strlen(str);
        }
        wcssize = MultiByteToWideChar(GetACP(), 0, str, len,  NULL, 0);
@@ -537,7 +602,7 @@
        if (len == 0) {
                return strdup("");
        }
-       if (len == -1) {
+       if (len == (size_t)-1) {
                len = strlen(utf8);
        }
        wcssize = MultiByteToWideChar(CP_UTF8, 0, utf8, len,  NULL, 0);
@@ -595,10 +660,13 @@
 {
        int c, key_delim = 0;
        bool showversion = false;
-       char *kv, *js_string, *progname, buf[BUFSIZ], *p;
+       char *kv, *js_string, *progname, *buf, *p;
        char *in_file = NULL, *in_str;
+       char *out_file = NULL;
+       FILE *out = stdout;
        size_t in_len = 0;
-       int ttyin = isatty(fileno(stdin)), ttyout = isatty(fileno(stdout));
+       int ttyin = isatty(fileno(stdin));
+       int ttyout = isatty(fileno(stdout));
        int flags = 0;
        JsonNode *json, *op;
 
@@ -610,7 +678,7 @@
 
        progname = (progname = strrchr(*argv, '/')) ? progname + 1 : *argv;
 
-       while ((c = getopt(argc, argv, "aBDd:f:hpenvV")) != EOF) {
+       while ((c = getopt(argc, argv, "aBDd:f:hpeno:vV")) != EOF) {
                switch (c) {
                        case 'a':
                                flags |= FLAG_ARRAY;
@@ -639,6 +707,9 @@
                        case 'n':
                                flags |= FLAG_SKIPNULLS;
                                break;
+                       case 'o':
+                               out_file = optarg;
+                               break;
                        case 'v':
                                printf("jo %s\n", PACKAGE_VERSION);
                                exit(0);
@@ -683,12 +754,11 @@
                if (flags & FLAG_NOSTDIN) {
                        return(0);
                }
-               while (fgets(buf, sizeof(buf), stdin) != NULL) {
-                       if (buf[strlen(buf) - 1] == '\n')
-                               buf[strlen(buf) - 1] = 0;
+               while ((buf = slurp_line(stdin, &in_len)) != NULL && in_len > 
0) {
                        p = ttyin ? utf8_from_locale(buf, -1) : buf;
                        append_kv(json, flags, key_delim, p);
                        if (ttyin) utf8_free(p);
+                       if (buf) free(buf);
                }
        } else {
                while ((kv = *argv++)) {
@@ -747,8 +817,16 @@
                exit(2);
        }
 
+       if (out_file != NULL) {
+               out = fopen(out_file, "w");
+               if (out == NULL) {
+                       perror(out_file);
+                       errx(1, "Cannot open %s for writing", out_file);
+               }
+               ttyout = isatty(fileno(out));
+       }
        p = ttyout ? locale_from_utf8(js_string, -1) : js_string;
-       printf("%s\n", p);
+       fprintf(out, "%s\n", p);
        if (ttyout) locale_free(p);
        free(js_string);
        json_delete(json);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/jo.md new/jo-1.7/jo.md
--- old/jo-1.6/jo.md    2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/jo.md    2022-10-29 15:26:13.000000000 +0200
@@ -1,20 +1,13 @@
----
-title: JO(1) User Manuals
----
-
-NAME
-====
+# NAME
 
 jo - JSON output from a shell
 
-SYNOPSIS
-========
+# SYNOPSIS
 
 jo \[-p\] \[-a\] \[-B\] \[-D\] \[-e\] \[-n\] \[-v\] \[-V\] \[-d
-keydelim\] \[-f file\] \[--\] \[ \[-s\|-n\|-b\] word ...\]
+keydelim\] \[-f file\] \[--\] \[ \[-s|-n|-b\] word ...\]
 
-DESCRIPTION
-===========
+# DESCRIPTION
 
 *jo* creates a JSON string on *stdout* from *word*s given it as
 arguments or read from *stdin*. If `-f` is specified, *jo* first loads
@@ -40,11 +33,11 @@
 *jo* normally treats *value* as a literal string value, unless it begins
 with one of the following characters:
 
-  value   action
-  ------- ---------------------------------------------------------------------
-  @file   substitute the contents of *file* as-is
-  %file   substitute the contents of *file* in base64-encoded form
-  :file   interpret the contents of *file* as JSON, and substitute the result
+| value | action                                                              |
+| ----- | ------------------------------------------------------------------- |
+| @file | substitute the contents of *file* as-is                             |
+| %file | substitute the contents of *file* in base64-encoded form            |
+| :file | interpret the contents of *file* as JSON, and substitute the result |
 
 Escape the special character with a backslash to prevent this
 interpretation.
@@ -60,8 +53,7 @@
 left of the operator. The file may be specified as `-` to read from
 *jo*'s standard input.
 
-TYPE COERCION
-=============
+# TYPE COERCION
 
 *jo*'s type guesses can be overridden on a per-word basis by prefixing
 *word* with `-s` for *string*, `-n` for *number*, or `-b` for *boolean*.
@@ -70,15 +62,15 @@
 
 Type coercion works as follows:
 
-  word           -s                 -n          -b          default
-  -------------- ------------------ ----------- ----------- ------------------
-  a=             "a":\"\"           "a":0       "a":false   "a":null
-  a=string       "a":"string"       "a":6       "a":true    "a":"string"
-  a=\"quoted\"   "a":"\"quoted\""   "a":8       "a":true    "a":"\"quoted\""
-  a=12345        "a":"12345"        "a":12345   "a":true    "a":12345
-  a=true         "a":"true"         "a":1       "a":true    "a":true
-  a=false        "a":"false"        "a":0       "a":false   "a":false
-  a=null         "a":\"\"           "a":0       "a":false   "a":null
+| word       | \-s            | \-n       | \-b       | default        |
+| :--------- | :------------- | :-------- | :-------- | :------------- |
+| a=         | "a":""         | "a":0     | "a":false | "a":null       |
+| a=string   | "a":"string"   | "a":6     | "a":true  | "a":"string"   |
+| a="quoted" | "a":""quoted"" | "a":8     | "a":true  | "a":""quoted"" |
+| a=12345    | "a":"12345"    | "a":12345 | "a":true  | "a":12345      |
+| a=true     | "a":"true"     | "a":1     | "a":true  | "a":true       |
+| a=false    | "a":"false"    | "a":0     | "a":false | "a":false      |
+| a=null     | "a":""         | "a":0     | "a":false | "a":null       |
 
 Coercing a non-number string to number outputs the *length* of the
 string.
@@ -89,8 +81,7 @@
 Type coercion only applies to `key=value` words, and individual words in
 a `-a` array. Coercing other words has no effect.
 
-EXAMPLES
-========
+# EXAMPLES
 
 Create an object. Note how the incorrectly-formatted float value becomes
 a string:
@@ -143,7 +134,7 @@
 
     $ jo switch=true morning@0
     {"switch":true,"morning":false}
-
+    
     $ jo -B switch=true morning@0
     {"switch":"true","morning":false}
 
@@ -195,7 +186,7 @@
 
     $ jo < /dev/null
     {}
-
+    
     $ MY_ARRAY=(a=1 b=2)
     $ jo -a "${MY_ARRAY[@]}" < /dev/null
     ["a=1","b=2"]
@@ -213,7 +204,7 @@
        "g": 14,
        "h": true
     }
-
+    
     $ jo -a -- -s 123 -n "This is a test" -b C_Rocks 456
     ["123",14,true,456]
 
@@ -223,10 +214,10 @@
 
     $ jo program=jo authors=@AUTHORS
     {"program":"jo","authors":"Jan-Piet Mens <jpm...@gmail.com>"}
-
+    
     $ jo filename=AUTHORS content=%AUTHORS
     
{"filename":"AUTHORS","content":"SmFuLVBpZXQgTWVucyA8anBtZW5zQGdtYWlsLmNvbT4K"}
-
+    
     $ jo nested=:nested.json
     {"nested":{"field1":123,"field2":"abc"}}
 
@@ -234,20 +225,20 @@
 
     $ jo name="JP Mens" twitter='\@jpmens'
     {"name":"JP Mens","twitter":"@jpmens"}
-
+    
     $ jo char=" " URIescape=\\%20
     {"char":" ","URIescape":"%20"}
-
+    
     $ jo action="split window" vimcmd="\:split"
     {"action":"split window","vimcmd":":split"}
 
-Read element values from a file in order to overcome ARG_MAX limits
+Read element values from a file in order to overcome ARG\_MAX limits
 during object assignment:
 
     $ ls | jo -a > child.json
     $ jo files:=child.json
     {"files":["AUTHORS","COPYING","ChangeLog" ....
-
+    
     $ ls *.c | jo -a > source.json; ls *.h | jo -a > headers.json
     $ jo -a :source.json :headers.json
     [["base64.c","jo.c","json.c"],["base64.h","json.h"]]
@@ -256,7 +247,7 @@
 
     $ jo -f source.json 1 | jo -f - 2 3
     ["base64.c","jo.c","json.c",1,2,3]
-
+    
     $ curl -s 
'https://noembed.com/embed?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ' | 
jo -f - status=Rickrolled
     { ...., 
"type":"video","author_url":"https://www.youtube.com/user/RickAstleyVEVO","status":"Rickrolled"}
 
@@ -267,42 +258,33 @@
     $ jo -D a=1 b=2 a=3
     {"a":3,"b":2}
 
-OPTIONS
-=======
+# OPTIONS
 
 *jo* understands the following global options.
 
--a
-:   Interpret the list of *words* as array values and produce an array
+  - \-a  
+    Interpret the list of *words* as array values and produce an array
     instead of an object.
-
--B
-:   By default, *jo* interprets the strings "`true`" and "`false`" as
+  - \-B  
+    By default, *jo* interprets the strings "`true`" and "`false`" as
     boolean elements `true` and `false` respectively, and "`null`" as
     `null`. Disable with this option.
-
--D
-:   Deduplicate object keys.
-
--e
-:   Ignore empty stdin (i.e.??don't produce a diagnostic error when
+  - \-D  
+    Deduplicate object keys.
+  - \-e  
+    Ignore empty stdin (i.e. don't produce a diagnostic error when
     *stdin* is empty)
-
--n
-:   Do not add keys with empty values.
-
--p
-:   Pretty-print the JSON string on output instead of the terse one-line
+  - \-n  
+    Do not add keys with empty values.
+  - \-p  
+    Pretty-print the JSON string on output instead of the terse one-line
     output it prints by default.
+  - \-v  
+    Show version and exit.
+  - \-V  
+    Show version as a JSON object and exit.
 
--v
-:   Show version and exit.
-
--V
-:   Show version as a JSON object and exit.
-
-BUGS
-====
+# BUGS
 
 Probably.
 
@@ -323,31 +305,26 @@
 message to print, but the output contains garbage anyway. This was
 designed thusly.
 
-RETURN CODES
-============
+# RETURN CODES
 
 *jo* exits with a code 0 on success and non-zero on failure after
 indicating what caused the failure.
 
-AVAILABILITY
-============
+# AVAILABILITY
 
 <http://github.com/jpmens/jo>
 
-CREDITS
-=======
+# CREDITS
 
--   This program uses `json.[ch]`, by Joseph A. Adams.
+  - This program uses `json.[ch]`, by Joseph A. Adams.
 
-SEE ALSO
-========
+# SEE ALSO
 
--   <https://stedolan.github.io/jq/>
--   <https://github.com/micha/jsawk>
--   <https://github.com/jtopjian/jsed>
--   strtod(3)
+  - <https://stedolan.github.io/jq/>
+  - <https://github.com/micha/jsawk>
+  - <https://github.com/jtopjian/jsed>
+  - strtod(3)
 
-AUTHOR
-======
+# AUTHOR
 
 Jan-Piet Mens <http://jpmens.net>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/json.c new/jo-1.7/json.c
--- old/jo-1.6/json.c   2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/json.c   2022-10-29 15:26:13.000000000 +0200
@@ -34,9 +34,9 @@
                exit(EXIT_FAILURE);                     \
        } while (0)
 
-#ifdef _WIN32
+#if defined(_WIN32) || defined(_AIX)
 # define failx(e, n, f, ...)   if (!(e)) {     \
-               fprintf(stderr, "JSON_ERR: " f, __VA_ARGS__);   \
+               fprintf(stderr, "jo: JSON_ERR: " f "\n", __VA_ARGS__);  \
                exit(n);        \
        }
 #else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/meson.build new/jo-1.7/meson.build
--- old/jo-1.6/meson.build      2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/meson.build      2022-10-29 15:26:13.000000000 +0200
@@ -1,5 +1,5 @@
 project('jo', 'c',
-        version: '1.6',
+        version: '1.7',
         license: 'GPL-2.0-or-later',
         meson_version: '>=0.57.0',
         default_options: ['warning_level=3', 'optimization=2'])
@@ -56,12 +56,13 @@
                     command: [pandoc_commands, '@OUTPUT@', 
'@INPUT@']).full_path()
 run_command(pandoc_commands,
             join_paths(meson.current_build_dir(), 'jo.1'),
-            join_paths(meson.current_source_dir(), 'jo.pandoc'))
+            join_paths(meson.current_source_dir(), 'jo.pandoc'),
+            check: false)
 custom_target('jo.md',
               output: 'jo.md',
               input: 'jo.pandoc',
               build_always_stale: true,
-              command: [pandoc, '-s', '-w', 'markdown+simple_tables', '-f', 
'markdown', '-o', '@OUTPUT@', '@INPUT@'])
+              command: [pandoc, '-s', '-w', 'gfm', '-f', 'markdown-smart', 
'-o', '@OUTPUT@', '@INPUT@'])
 endif
 
 install_man(jo1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/rpm-build/jo.spec new/jo-1.7/rpm-build/jo.spec
--- old/jo-1.6/rpm-build/jo.spec        2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/rpm-build/jo.spec        2022-10-29 15:26:13.000000000 +0200
@@ -1,5 +1,5 @@
 Name:           jo
-Version:        1.6
+Version:        1.7
 Release:        2%{?dist}
 Summary:        jo is a small utility to create JSON objects
 
@@ -39,6 +39,8 @@
 
 
 %changelog
+* Sat Oct 29 2022 JP Mens <j...@mens.de> 1.7
+- bump version -- see Changelog
 * Sat Jul 18 2020 JP Mens <j...@mens.de> 1.4
 - bump version -- see Changelog
 * Tue Apr 28 2020 Christian Albrecht <c...@albix.de> 1.3-2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jo-1.6/snapcraft.yaml new/jo-1.7/snapcraft.yaml
--- old/jo-1.6/snapcraft.yaml   2022-01-05 16:59:37.000000000 +0100
+++ new/jo-1.7/snapcraft.yaml   2022-10-29 15:26:13.000000000 +0200
@@ -1,5 +1,5 @@
 name: jo
-version: "1.6"
+version: "1.7"
 summary: jo
 description: |
   This is jo, a small utility to create JSON objects or arrays.

Reply via email to