gmime r1451 - in trunk: . gmime



Author: fejj
Date: Sun Sep 14 21:42:41 2008
New Revision: 1451
URL: http://svn.gnome.org/viewvc/gmime?rev=1451&view=rev

Log:
2008-09-14  Jeffrey Stedfast  <fejj novell com>

	* gmime/internet-address.c (decode_mailbox): Pass name->len to
	g_utf8_validate() rather than -1 since we have the length. Might
	save us some cycles.

	* gmime/gmime-parser.c (parser_init): Initialize the headerbuf and
	rawbuf buffers to something more reasonable.



Modified:
   trunk/ChangeLog
   trunk/gmime/gmime-parser.c
   trunk/gmime/internet-address.c

Modified: trunk/gmime/gmime-parser.c
==============================================================================
--- trunk/gmime/gmime-parser.c	(original)
+++ trunk/gmime/gmime-parser.c	Sun Sep 14 21:42:41 2008
@@ -78,8 +78,16 @@
 
 static GObjectClass *parent_class = NULL;
 
-#define SCAN_BUF 4096		/* size of read buffer */
-#define SCAN_HEAD 128		/* headroom guaranteed to be before each read buffer */
+/* size of read buffer */
+#define SCAN_BUF 4096
+
+/* headroom guaranteed to be before each read buffer */
+#define SCAN_HEAD 128
+
+/* conservative growth sizes */
+#define HEADER_INIT_SIZE 128
+#define HEADER_RAW_INIT_SIZE 1024
+
 
 enum {
 	GMIME_PARSER_STATE_ERROR = -1,
@@ -327,13 +335,13 @@
 	priv->from_offset = -1;
 	priv->from_line = g_byte_array_new ();
 	
-	priv->headerbuf = g_malloc (SCAN_HEAD);
+	priv->headerbuf = g_malloc (HEADER_INIT_SIZE);
+	priv->headerleft = HEADER_INIT_SIZE - 1;
 	priv->headerptr = priv->headerbuf;
-	priv->headerleft = SCAN_HEAD - 1;
 	
-	priv->rawbuf = g_malloc (SCAN_HEAD);
+	priv->rawbuf = g_malloc (HEADER_RAW_INIT_SIZE);
+	priv->rawleft = HEADER_RAW_INIT_SIZE - 1;
 	priv->rawptr = priv->rawbuf;
-	priv->rawleft = SCAN_HEAD - 1;
 	
 	priv->headers_begin = -1;
 	priv->headers_end = -1;
@@ -658,7 +666,7 @@
  * Gets the current stream offset from the parser's internal stream.
  *
  * Returns: the current stream offset from the parser's internal stream
- * or -1 on error.
+ * or %-1 on error.
  **/
 gint64
 g_mime_parser_tell (GMimeParser *parser)
@@ -672,7 +680,7 @@
 
 /**
  * g_mime_parser_eos:
- * @parser: MIME parser
+ * @parser: a #GMimeParser context
  *
  * Tests the end-of-stream indicator for @parser's internal stream.
  *

Modified: trunk/gmime/internet-address.c
==============================================================================
--- trunk/gmime/internet-address.c	(original)
+++ trunk/gmime/internet-address.c	Sun Sep 14 21:42:41 2008
@@ -1389,7 +1389,7 @@
 	*in = inptr;
 	
 	if (addr->len) {
-		if (name && !g_utf8_validate (name->str, -1, NULL)) {
+		if (name && !g_utf8_validate (name->str, name->len, NULL)) {
 			/* A (broken) mailer has sent us raw 8bit/multibyte text data... */
 			char *utf8 = g_mime_utils_decode_8bit (name->str, name->len);
 			



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]