[dovecot-cvs] dovecot/src/deliver deliver.c,1.20.2.28,1.20.2.29
tss at dovecot.org
tss at dovecot.org
Mon Feb 19 14:27:16 UTC 2007
Update of /var/lib/cvs/dovecot/src/deliver
In directory talvi:/tmp/cvs-serv4989
Modified Files:
Tag: branch_1_0
deliver.c
Log Message:
Get pop3_uidl_format even if it's inside protocol pop3 {}
Index: deliver.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/deliver/deliver.c,v
retrieving revision 1.20.2.28
retrieving revision 1.20.2.29
diff -u -d -r1.20.2.28 -r1.20.2.29
--- deliver.c 16 Feb 2007 13:12:02 -0000 1.20.2.28
+++ deliver.c 19 Feb 2007 14:27:14 -0000 1.20.2.29
@@ -191,7 +191,7 @@
struct istream *input;
const char *key, *value;
char *line, *p, quote;
- int fd, sections = 0, lda_section = FALSE;
+ int fd, sections = 0, lda_section = FALSE, pop3_section = FALSE;
size_t len;
fd = open(path, O_RDONLY);
@@ -239,21 +239,27 @@
if (strcmp(line, "protocol lda {") == 0 ||
strcmp(line, "plugin {") == 0)
lda_section = TRUE;
+ if (strcmp(line, "protocol pop3 {") == 0)
+ pop3_section = TRUE;
sections++;
}
if (*line == '}') {
sections--;
lda_section = FALSE;
+ pop3_section = FALSE;
}
continue;
}
- if (sections > 0 && !lda_section)
- continue;
-
while (p > line && p[-1] == ' ') p--;
key = t_strdup_until(line, p);
+ if (sections > 0 && !lda_section) {
+ if (!pop3_section ||
+ strcmp(key, "pop3_uidl_format") != 0)
+ continue;
+ }
+
do {
value++;
} while (*value == ' ');
More information about the dovecot-cvs
mailing list