diff -Naurp cyrus-imapd-2.3.12p2/imap/saslserver.c cyrus-imapd-2.3.12p2.oden/imap/saslserver.c --- cyrus-imapd-2.3.12p2/imap/saslserver.c 2008-03-24 18:09:19.000000000 +0100 +++ cyrus-imapd-2.3.12p2.oden/imap/saslserver.c 2008-12-15 17:09:27.000000000 +0100 @@ -48,6 +48,7 @@ #include <sasl/sasl.h> #include <sasl/saslutil.h> +#include "xmalloc.h" /* xstrdup() */ #include "prot.h" #include "imap_err.h" #include "xmalloc.h" diff -Naurp cyrus-imapd-2.3.12p2/imap/squat_build.c cyrus-imapd-2.3.12p2.oden/imap/squat_build.c --- cyrus-imapd-2.3.12p2/imap/squat_build.c 2008-03-24 18:09:19.000000000 +0100 +++ cyrus-imapd-2.3.12p2.oden/imap/squat_build.c 2008-12-15 17:09:27.000000000 +0100 @@ -93,6 +93,7 @@ #include <config.h> #include <stdlib.h> +#include <stdint.h> #include <string.h> #include <unistd.h> #include <sys/mman.h> @@ -609,7 +610,7 @@ static void delete_doc_word_table(SquatW for (i = 0; i < VECTOR_SIZE(t->entries); i++) { SquatWordTableEntry* e = &(t->entries[i]); - if (e->leaf_presence != NULL && ((int)e->leaf_presence & 1) == 0) { + if (e->leaf_presence != NULL && ((intptr_t)e->leaf_presence & 1) == 0) { free(e->leaf_presence); } } @@ -698,7 +699,7 @@ static int add_to_table(SquatIndex* inde if (word_entry == NULL) { /* We are in "per document" mode. */ - if (((int)e->leaf_presence & 1) != 0) { + if (((intptr_t)e->leaf_presence & 1) != 0) { /* We currently have a singleton here. */ int oldch = e->leaf_presence_singleton >> 1; @@ -917,7 +918,7 @@ static int write_words(SquatIndex* index word[0] = (char)i; - if (((int)e->leaf_presence & 1) != 0) { + if (((intptr_t)e->leaf_presence & 1) != 0) { /* Got a singleton at this branch point. Just output the single word. */ word[1] = (char)(e->leaf_presence_singleton >> 1); e->leaf_presence = NULL; /* clear the leaf out */