Compiling dovecot-2.0.13 on OS X emits these warnings: user-directory.c: In function user_directory_add: user-directory.c:79: warning: comparison between signed and unsigned user-directory.c:84: warning: comparison between signed and unsigned Casting the left hand sides of the comparisons to time_t, as you do in other places, silences them: --- a/src/director/user-directory.c 2011-05-11 09:35:21.000000000 -0500 +++ b/src/director/user-directory.c 2011-05-11 16:55:45.000000000 -0500 @@ -76,12 +76,12 @@ user->host->user_count++; user->timestamp = timestamp; - if (dir->tail == NULL || dir->tail->timestamp <= timestamp) + if (dir->tail == NULL || (time_t) dir->tail->timestamp <= timestamp) DLLIST2_APPEND(&dir->head, &dir->tail, user); else { /* need to insert to correct position */ for (pos = dir->tail; pos != NULL; pos = pos->prev) { - if (pos->timestamp <= timestamp) + if ((time_t) pos->timestamp <= timestamp) break; } if (pos == NULL)