<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/sprinter.h, branch 0.40_rc0</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.40_rc0</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.40_rc0'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2022-01-18T12:08:22Z</updated>
<entry>
<title>CLI: stash pointer to database in sprinter structs</title>
<updated>2022-01-18T12:08:22Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-01-01T12:01:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=417d202e642e0af0ef692e3ce250a6af985c7442'/>
<id>urn:sha1:417d202e642e0af0ef692e3ce250a6af985c7442</id>
<content type='text'>
We already use an allocated (and presumably open) database as a talloc
context. Keeping the pointer in the allocated struct will allow us to
e.g. interrogate the configuration in a sprinter function without
threading the database all the way through the various levels of function.
</content>
</entry>
<entry>
<title>sprinter: change integer method to use int64_t</title>
<updated>2020-02-13T23:10:42Z</updated>
<author>
<name>Peter Wang</name>
<email>novalazy@gmail.com</email>
</author>
<published>2020-02-08T01:49:22Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c17fca40e2bc5514863d98807aaed318f144fd1a'/>
<id>urn:sha1:c17fca40e2bc5514863d98807aaed318f144fd1a</id>
<content type='text'>
In particular, timestamps beyond 2038 could overflow the sprinter
interface on systems where time_t is 64-bit but 'int' is a signed 32-bit
integer type.
</content>
</entry>
<entry>
<title>cli: run uncrustify</title>
<updated>2019-06-14T10:41:27Z</updated>
<author>
<name>uncrustify</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-13T10:31:01Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=33382c2b5ba2537952a60ea378feff36961e4713'/>
<id>urn:sha1:33382c2b5ba2537952a60ea378feff36961e4713</id>
<content type='text'>
This is the result of running

     $ uncrustify --replace --config devel/uncrustify.cfg *.c *.h

in the top level source directory
</content>
</entry>
<entry>
<title>cli: convert notmuch_bool_t to stdbool</title>
<updated>2017-10-10T01:24:02Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-10-07T08:44:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0f314c0c99befea599a68bea51d759b4133efef6'/>
<id>urn:sha1:0f314c0c99befea599a68bea51d759b4133efef6</id>
<content type='text'>
C99 stdbool turned 18 this year. There really is no reason to use our
own, except in the library interface for backward
compatibility. Convert the cli and test binaries to stdbool.
</content>
</entry>
<entry>
<title>sprinter: add text0 formatter for null character separated text</title>
<updated>2012-12-18T21:03:34Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2012-12-16T22:05:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=64122c31fa4a4d652fa61d639d250c99f534e17f'/>
<id>urn:sha1:64122c31fa4a4d652fa61d639d250c99f534e17f</id>
<content type='text'>
Same as the text formatter, but with each field separated by a null
character rather than a newline character.
</content>
</entry>
<entry>
<title>sprinter: clarify separator documentation</title>
<updated>2012-12-18T21:03:24Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2012-12-16T22:05:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1358f93a9f9c827f43ad174dc7bbf27b90d2ef8a'/>
<id>urn:sha1:1358f93a9f9c827f43ad174dc7bbf27b90d2ef8a</id>
<content type='text'>
For text printers, the separator is a syntactic element.
</content>
</entry>
<entry>
<title>Adding an S-expression structured output printer.</title>
<updated>2012-12-08T13:26:29Z</updated>
<author>
<name>Peter Feigl</name>
<email>craven@gmx.net</email>
</author>
<published>2012-12-06T21:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=fd3ffe35a2bf15676426235b809df915cd3473e4'/>
<id>urn:sha1:fd3ffe35a2bf15676426235b809df915cd3473e4</id>
<content type='text'>
This commit adds a structured output printer for Lisp
S-Expressions. Later commits will use this printer in notmuch search,
show and reply.

The structure is the same as json, but:
- arrays are written as lists: ("foo" "bar" "baaz" 1 2 3)
- maps are written as p-lists: (:key "value" :other-key "other-value")
- true is written as t
- false is written as nil
- null is written as nil

[ whitespace changes by db ]
</content>
</entry>
<entry>
<title>sprinters: bugfix when NULL passed for a string.</title>
<updated>2012-08-12T19:25:01Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2012-08-08T21:23:33Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=94c3b40d41f1ad98719d411ef28b69075fda0579'/>
<id>urn:sha1:94c3b40d41f1ad98719d411ef28b69075fda0579</id>
<content type='text'>
The string function in a sprinter may be called with a NULL string
pointer (eg if a header is absent). This causes a segfault. We fix
this by checking for a null pointer in the string functions and update
the sprinter documentation.

At the moment some output when format=text is done directly rather than
via an sprinter: in that case a null pointer is passed to printf or
similar and a "(null)" appears in the output. That behaviour is not
changed in this patch.
</content>
</entry>
<entry>
<title>sprinter: Add a string_len method</title>
<updated>2012-08-03T23:21:29Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-08-03T01:14:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=14883b07003b9ed4223cd8f2c03b301fddae07bd'/>
<id>urn:sha1:14883b07003b9ed4223cd8f2c03b301fddae07bd</id>
<content type='text'>
This method allows callers to output strings with specific lengths.
It's useful both for strings with embedded NULs (which JSON can
represent, though parser support is apparently spotty), and
non-terminated strings.
</content>
</entry>
<entry>
<title>Add structured output formatter for JSON and plain text (but don't use them yet).</title>
<updated>2012-07-24T12:26:59Z</updated>
<author>
<name>craven@gmx.net</name>
<email>craven@gmx.net</email>
</author>
<published>2012-07-23T10:39:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=36522fca1cac6ca23c2c4c0280e3e20e96f7bfbb'/>
<id>urn:sha1:36522fca1cac6ca23c2c4c0280e3e20e96f7bfbb</id>
<content type='text'>
Using the new structured printer support in sprinter.h, implement
sprinter_json_create, which returns a new JSON structured output
formatter. The formatter prints output similar to the existing JSON, but
with differences in whitespace (mostly newlines, --output=summary prints
the entire message summary on one line, not split across multiple lines).

Also implement a "structured" formatter for plain text that prints
prefixed strings, to be used with notmuch-search.c plain text output.
</content>
</entry>
</feed>
