]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Compiler warning fix.
authorTimo Sirainen <tss@iki.fi>
Tue, 2 Mar 2010 15:21:16 +0000 (17:21 +0200)
committerTimo Sirainen <tss@iki.fi>
Tue, 2 Mar 2010 15:21:16 +0000 (17:21 +0200)
--HG--
branch : HEAD

src/anvil/penalty.c

index e47b43bcc6bcd383405408405260d2356442a235..4c0d31288c2f7d33b975f4938aafe41d18387a85 100644 (file)
@@ -160,27 +160,24 @@ unsigned int penalty_get(struct penalty *penalty, const char *ident,
 static void penalty_timeout(struct penalty *penalty)
 {
        struct penalty_rec *rec;
-       time_t expire_time;
+       time_t rec_last_update, expire_time;
+       unsigned int diff;
 
        expire_time = ioloop_time - penalty->expire_secs;
        while (penalty->oldest != NULL) {
                rec = penalty->oldest;
 
-               if (rec->last_penalty + (time_t)rec->last_update > expire_time)
+               rec_last_update = rec->last_penalty + rec->last_update;
+               if (rec_last_update > expire_time) {
+                       diff = rec_last_update - expire_time;
+                       penalty->to = timeout_add(diff * 1000,
+                                                 penalty_timeout, penalty);
                        break;
+               }
                hash_table_remove(penalty->hash, rec->ident);
                penalty_rec_free(penalty, rec);
        }
-
        timeout_remove(&penalty->to);
-       rec = penalty->oldest;
-       if (rec != NULL) {
-               unsigned int diff;
-
-               diff = rec->last_penalty + rec->last_update - expire_time;
-               penalty->to = timeout_add(diff * 1000,
-                                         penalty_timeout, penalty);
-       }
 }
 
 void penalty_inc(struct penalty *penalty, const char *ident,