Re: [PATCH v4] json_writer: new routines to create data in JSON format
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Mar 27, 2018, 03:18 UTC
- Message-ID
- <ce076d5e-f30f-006e-a25e-ff1a900562bf@ramsayjones.plus.com>
- In-Reply-To
- <20180326143136.47116-2-git@jeffhostetler.com>
On 26/03/18 15:31, git@jeffhostetler.com wrote:
Show 35 quoted lines
> From: Jeff Hostetler <jeffhost@microsoft.com> > > Add a series of jw_ routines and "struct json_writer" structure to compose > JSON data. The resulting string data can then be output by commands wanting > to support a JSON output format. > > The json-writer routines can be used to generate structured data in a > JSON-like format. We say "JSON-like" because we do not enforce the Unicode > (usually UTF-8) requirement on string fields. Internally, Git does not > necessarily have Unicode/UTF-8 data for most fields, so it is currently > unclear the best way to enforce that requirement. For example, on Linx > pathnames can contain arbitrary 8-bit character data, so a command like > "status" would not know how to encode the reported pathnames. We may want > to revisit this (or double encode such strings) in the future. > > The initial use for the json-writer routines is for generating telemetry > data for executed Git commands. Later, we may want to use them in other > commands, such as status. > > Helped-by: René Scharfe <l.s.r@web.de> > Helped-by: Wink Saville <wink@saville.com> > Helped-by: Ramsay Jones <ramsay@ramsayjones.plus.com> > Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> > --- > Makefile | 2 + > json-writer.c | 395 +++++++++++++++++++++++++++++ > json-writer.h | 92 +++++++ > t/helper/test-json-writer.c | 590 ++++++++++++++++++++++++++++++++++++++++++++ > t/t0019-json-writer.sh | 253 +++++++++++++++++++ > 5 files changed, 1332 insertions(+) > create mode 100644 json-writer.c > create mode 100644 json-writer.h > create mode 100644 t/helper/test-json-writer.c > create mode 100755 t/t0019-json-writer.sh >
[snip]
Thanks, this version fixes all issues I had (with the compilation and sparse warnings).
[Was using UINT64_C(0xffffffffffffffff) a problem on windows?]
ATB, Ramsay Jones