[dovecot-cvs] dovecot/src/lib-mail message-part-serialize.c,1.17,1.18

cras at procontrol.fi cras at procontrol.fi
Thu Aug 21 05:59:52 EEST 2003


Update of /home/cvs/dovecot/src/lib-mail
In directory danu:/tmp/cvs-serv126/lib-mail

Modified Files:
	message-part-serialize.c 
Log Message:
Removed some header/body size fields. We use only message_part now
everywhere since it's small enough. virtual_full_size was left because we
may know that by just reading maildir filename.



Index: message-part-serialize.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-mail/message-part-serialize.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- message-part-serialize.c	21 Aug 2003 01:41:11 -0000	1.17
+++ message-part-serialize.c	21 Aug 2003 01:59:50 -0000	1.18
@@ -358,24 +358,32 @@
 
 	memcpy(&flags, buf, sizeof(flags));
 	buf += sizeof(flags);
-	memcpy(&hdr_size->physical_size, buf, sizeof(uoff_t));
-	buf += sizeof(uoff_t);
-	memcpy(&hdr_size->virtual_size, buf, sizeof(uoff_t));
-	buf += sizeof(uoff_t);
-	hdr_size->lines = 0;
-
-	memcpy(&body_size->physical_size, buf, sizeof(uoff_t));
-	buf += sizeof(uoff_t);
-	memcpy(&body_size->virtual_size, buf, sizeof(uoff_t));
-	buf += sizeof(uoff_t);
 
-	if ((flags & (MESSAGE_PART_FLAG_TEXT |
-		      MESSAGE_PART_FLAG_MESSAGE_RFC822)) == 0)
-		body_size->lines = 0;
+	if (hdr_size == NULL)
+		buf += sizeof(uoff_t) * 2;
 	else {
-		if (size < MINIMUM_SERIALIZED_SIZE + sizeof(unsigned int))
-			return FALSE;
-		memcpy(&body_size->lines, buf, sizeof(unsigned int));
+		memcpy(&hdr_size->physical_size, buf, sizeof(uoff_t));
+		buf += sizeof(uoff_t);
+		memcpy(&hdr_size->virtual_size, buf, sizeof(uoff_t));
+		buf += sizeof(uoff_t);
+		hdr_size->lines = 0;
+	}
+
+	if (body_size != NULL) {
+		memcpy(&body_size->physical_size, buf, sizeof(uoff_t));
+		buf += sizeof(uoff_t);
+		memcpy(&body_size->virtual_size, buf, sizeof(uoff_t));
+		buf += sizeof(uoff_t);
+
+		if ((flags & (MESSAGE_PART_FLAG_TEXT |
+			      MESSAGE_PART_FLAG_MESSAGE_RFC822)) == 0)
+			body_size->lines = 0;
+		else {
+			if (size < MINIMUM_SERIALIZED_SIZE +
+			    sizeof(unsigned int))
+				return FALSE;
+			memcpy(&body_size->lines, buf, sizeof(unsigned int));
+		}
 	}
 
 	return TRUE;



More information about the dovecot-cvs mailing list