]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-solr: laxer check of uni_utf8_get_char_n() return value
authorPhil Carmody <phil@dovecot.fi>
Mon, 1 Jun 2015 19:08:27 +0000 (22:08 +0300)
committerPhil Carmody <phil@dovecot.fi>
Mon, 1 Jun 2015 19:08:27 +0000 (22:08 +0300)
If uni_utf8_get_char*() were changed to return the number of bytes in the
character on success, then all we care about is it being > 0 (i.e. not
error, not truncated).

Signed-off-by: Phil Carmody <phil@dovecot.fi>
src/plugins/fts-solr/fts-backend-solr-old.c
src/plugins/fts-solr/fts-backend-solr.c

index 38eefbfca558b7a5e53fde861d5e21851aecaf23..88f25ecce158a051b8c2dc0fd8934c09a3e29d6c 100644 (file)
@@ -91,7 +91,7 @@ xml_encode_data(string_t *dest, const unsigned char *data, unsigned int len)
                                unsigned int char_len =
                                        uni_utf8_char_bytes(data[i]);
                                if (i + char_len <= len &&
-                                   uni_utf8_get_char_n(data + i, char_len, &chr) == 1 &&
+                                   uni_utf8_get_char_n(data + i, char_len, &chr) > 0 &&
                                    is_valid_xml_char(chr))
                                        str_append_n(dest, data + i, char_len);
                                else {
index 22afe527ecbf6a51bf5cd71fff55e9bf3a627bf6..2e96ba220080cc3e3a2a8919bf01218bd429775f 100644 (file)
@@ -112,7 +112,7 @@ xml_encode_data_max(string_t *dest, const unsigned char *data, unsigned int len,
                                unsigned int char_len =
                                        uni_utf8_char_bytes(data[i]);
                                if (i + char_len <= len &&
-                                   uni_utf8_get_char_n(data + i, char_len, &chr) == 1 &&
+                                   uni_utf8_get_char_n(data + i, char_len, &chr) > 0 &&
                                    is_valid_xml_char(chr))
                                        str_append_n(dest, data + i, char_len);
                                else {