<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/util/string-util.c, 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-08-06T12:56:36Z</updated>
<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: 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>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>
<entry>
<title>util: add string-util.[ch]</title>
<updated>2012-12-08T14:56:11Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2012-11-24T13:43:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9ff72a83bda69e6c064bd8be9f201a4626bff54e'/>
<id>urn:sha1:9ff72a83bda69e6c064bd8be9f201a4626bff54e</id>
<content type='text'>
This is to give a home to strtok_len. It's a bit silly to add a header
for one routine, but it needs to be shared between several compilation
units (or at least that's the most natural design).
</content>
</entry>
</feed>
