<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/util, branch 0.19</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.19</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.19'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2014-10-05T05:30:46Z</updated>
<entry>
<title>hex-escape: remove unused variable default_buf_size</title>
<updated>2014-10-05T05:30:46Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-10-04T17:53:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ad5c017b691227ebba8b8f0bf82a5171904a9145'/>
<id>urn:sha1:ad5c017b691227ebba8b8f0bf82a5171904a9145</id>
<content type='text'>
Found by clang:

CC  -O2 util/hex-escape.o
util/hex-escape.c:28:21: warning: unused variable 'default_buf_size'
      [-Wunused-const-variable]
static const size_t default_buf_size = 1024;
                    ^
1 warning generated.
</content>
</entry>
<entry>
<title>util: Const version of strtok_len</title>
<updated>2014-08-06T12:56:36Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2014-08-01T02:09:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9f0f30f7dea1b8fd888d774175ed96d802118b11'/>
<id>urn:sha1:9f0f30f7dea1b8fd888d774175ed96d802118b11</id>
<content type='text'>
Because of limitations in the C type system, we can't a strtok_len
that can work on both const string and non-const strings.  The C
library solves this by taking a const char* and returning a char*
in functions like this (e.g., strchr), but that's not const-safe.
Solve it by introducing strtok_len_c, a version of strtok_len for
const strings.
</content>
</entry>
<entry>
<title>util: Make string-util.h C++-compatible</title>
<updated>2014-07-31T10:11:25Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2014-07-29T16:48:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a5a47dab8776cffc6ffbd77c51933831a34279f1'/>
<id>urn:sha1:a5a47dab8776cffc6ffbd77c51933831a34279f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>util: add gz_readline</title>
<updated>2014-04-12T10:59:44Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-03-29T17:53:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=85d9219a62c23c3ff58b42a63b65390526b89b6b'/>
<id>urn:sha1:85d9219a62c23c3ff58b42a63b65390526b89b6b</id>
<content type='text'>
The idea is to provide a more or less drop in replacement for readline
to read from zlib/gzip streams.  Take the opportunity to replace
malloc with talloc.
</content>
</entry>
<entry>
<title>util: Fix two corner-cases in boolean term quoting function</title>
<updated>2014-03-15T18:05:06Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2014-03-11T20:42:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3fed6736a7ef8b8b1f05d0fabb136bdd3b5917ee'/>
<id>urn:sha1:3fed6736a7ef8b8b1f05d0fabb136bdd3b5917ee</id>
<content type='text'>
Previously, make_boolean_term did not quote empty boolean terms or
boolean terms that started with '('.  These cases are incompatible
with Xapian: empty terms cannot be omitted, and boolean terms that
start with '(' trigger an alternate term quoting syntax.

Fix this by quoting empty terms and terms that contain '('.
</content>
</entry>
<entry>
<title>util: make sanitize string available in string util for reuse</title>
<updated>2014-03-09T13:13:30Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-02-03T19:51:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=029790d3ff6e9fccfed2214efac777b8c438e318'/>
<id>urn:sha1:029790d3ff6e9fccfed2214efac777b8c438e318</id>
<content type='text'>
No functional changes.
</content>
</entry>
<entry>
<title>util: detect byte order</title>
<updated>2013-11-27T11:43:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-11-26T02:55:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b9f0e6923d645a044f837d61a9343ea16d56504e'/>
<id>urn:sha1:b9f0e6923d645a044f837d61a9343ea16d56504e</id>
<content type='text'>
Unfortunately old versions of GCC and clang do not provide byte order
macros, so we re-invent them.

If UTIL_BYTE_ORDER is not defined or defined to 0, we fall back to
macros supported by recent versions of GCC and clang
</content>
</entry>
<entry>
<title>string-util: Disallow empty prefixes in parse_boolean_term</title>
<updated>2013-01-08T00:55:21Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-01-07T21:20:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b4b22d37144c7820b435cea500fa4cfd1088b191'/>
<id>urn:sha1:b4b22d37144c7820b435cea500fa4cfd1088b191</id>
<content type='text'>
Xapian doesn't consider ":abc" to be a prefixed term.  This makes
parse_boolean_term similarly reject queries with an empty prefix.
</content>
</entry>
<entry>
<title>util: Function to parse boolean term queries</title>
<updated>2013-01-07T02:39:51Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-01-06T20:22:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7c3a995d6b6e066aa68b0adf0433f45cb3812c2a'/>
<id>urn:sha1:7c3a995d6b6e066aa68b0adf0433f45cb3812c2a</id>
<content type='text'>
This parses the subset of Xapian's boolean term quoting rules that are
used by make_boolean_term.  This is provided as a generic string
utility, but will be used shortly in notmuch restore to parse and
optimize for ID queries.
</content>
</entry>
<entry>
<title>util: Factor out boolean term quoting routine</title>
<updated>2013-01-07T02:39:36Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-01-06T20:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=25cf5f5dc45cac42f15643f6df09b46d51d7b5ec'/>
<id>urn:sha1:25cf5f5dc45cac42f15643f6df09b46d51d7b5ec</id>
<content type='text'>
This is now a generic boolean term quoting function.  It performs
minimal quoting to produce user-friendly queries.

This could live in tag-util as well, but it is really nothing specific
to tags (although the conventions are specific to Xapian).

The API is changed from "caller-allocates" to "readline-like".  The
scan for max tag length is pushed down into the quoting routine.
Furthermore, this now combines the term prefix with the quoted term;
arguably this is just as easy to do in the caller, but this will
nicely parallel the boolean term parsing function to be introduced
shortly.

This is an amalgamation of code written by David Bremner and myself.
</content>
</entry>
</feed>
