1c7b0e8083
Basically Cyrus is completely fine on 64-bit little-endian machines. "make check" fails on big-endian machines. The Cassandane tests fail on 32-bit machines. Some of the Cassandane tests are known to be due to bugs in the tests suite; Fedora's 32-bit Perl does not support 64-bit types ("Q" and "q") in pack and unpack. This is being fixed in rawhide on our side, but it won't be a complete solution because there are some failures elsewhere in the test suite. Fedora is the first to fully integrate Cassandane into the build process, and we appear to be the only ones to do testing on big-endian and 32-bit machines. So there's a bit of teething still to get through. I still do intend to try and push this to F26 as upstream has requested.
21 lines
559 B
Plaintext
21 lines
559 B
Plaintext
diff --git a/imap/conversations.c b/imap/conversations.c
|
|
index 504c5db..2b151dc 100644
|
|
--- a/imap/conversations.c
|
|
+++ b/imap/conversations.c
|
|
@@ -560,11 +560,14 @@ EXPORTED int conversations_get_msgid(struct conversations_state *state,
|
|
&data, &datalen,
|
|
&state->txn);
|
|
|
|
+ if (r == CYRUSDB_NOTFOUND)
|
|
+ return 0; /* not an error, but nothing more to do */
|
|
+
|
|
if (!r) r = _conversations_parse(data, datalen, cids, NULL);
|
|
|
|
if (r) arrayu64_truncate(cids, 0);
|
|
|
|
- return 0;
|
|
+ return r;
|
|
}
|
|
|
|
/*
|