[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