[dovecot-cvs] dovecot/src/lib-mail mail-types.h, NONE, 1.1 Makefile.am, 1.7, 1.8 message-parser.c, 1.50, 1.51 message-parser.h, 1.23, 1.24

cras at procontrol.fi cras at procontrol.fi
Tue Apr 27 23:25:56 EEST 2004


Update of /home/cvs/dovecot/src/lib-mail
In directory talvi:/tmp/cvs-serv29236/src/lib-mail

Modified Files:
	Makefile.am message-parser.c message-parser.h 
Added Files:
	mail-types.h 
Log Message:
importing new index code. mbox still broken.



--- NEW FILE: mail-types.h ---
#ifndef __MAIL_TYPES_H
#define __MAIL_TYPES_H

enum mail_flags {
	MAIL_ANSWERED	= 0x01,
	MAIL_FLAGGED	= 0x02,
	MAIL_DELETED	= 0x04,
	MAIL_SEEN	= 0x08,
	MAIL_DRAFT	= 0x10,
	MAIL_RECENT	= 0x20,

	MAIL_FLAGS_MASK = 0x3f
};

struct mail_full_flags {
	enum mail_flags flags;

	const char **custom_flags;
	unsigned int custom_flags_count;
};

enum modify_type {
	MODIFY_ADD,
	MODIFY_REMOVE,
	MODIFY_REPLACE
};

#endif

Index: Makefile.am
===================================================================
RCS file: /home/cvs/dovecot/src/lib-mail/Makefile.am,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Makefile.am	5 Jan 2003 13:09:52 -0000	1.7
+++ Makefile.am	27 Apr 2004 20:25:53 -0000	1.8
@@ -19,6 +19,7 @@
 	quoted-printable.c
 
 noinst_HEADERS = \
+	mail-types.h \
 	message-address.h \
 	message-body-search.h \
 	message-content-parser.h \

Index: message-parser.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-mail/message-parser.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- message-parser.c	11 Nov 2003 13:02:56 -0000	1.50
+++ message-parser.c	27 Apr 2004 20:25:53 -0000	1.51
@@ -707,6 +707,7 @@
 	} else {
 		/* new header line */
 		line->continued = FALSE;
+                line->name_offset = ctx->input->v_offset;
 	}
 
 	for (;;) {
@@ -773,6 +774,10 @@
 				if (msg[i] <= ':') {
 					if (msg[i] == ':') {
 						colon_pos = i;
+						// FIXME: correct?
+						line->full_value_offset =
+							ctx->input->v_offset +
+							i + 1;
 						break;
 					}
 					if (msg[i] == '\n') {

Index: message-parser.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-mail/message-parser.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- message-parser.h	21 Aug 2003 00:04:11 -0000	1.23
+++ message-parser.h	27 Apr 2004 20:25:53 -0000	1.24
@@ -47,9 +47,11 @@
 	const unsigned char *value;
 	size_t value_len;
 
-	const unsigned char *full_value;
+	const unsigned char *full_value; // FIXME: should contain \n too
 	size_t full_value_len;
 
+	uoff_t name_offset, full_value_offset;
+
 	unsigned int continues:1; /* multiline header, continues in next line */
 	unsigned int continued:1; /* multiline header, continues */
 	unsigned int eoh:1; /* "end of headers" line */



More information about the dovecot-cvs mailing list