[gmime: 12/27] Don't waste cpu cycles validating header values if user doesn't care about warnings



commit 64d50a6c63cc36679a475d729450b69f9cf0c335
Author: Jeffrey Stedfast <jestedfa microsoft com>
Date:   Wed Nov 8 16:33:47 2017 -0500

    Don't waste cpu cycles validating header values if user doesn't care about warnings

 gmime/gmime-parser.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/gmime/gmime-parser.c b/gmime/gmime-parser.c
index 30440c0..c641e3f 100644
--- a/gmime/gmime-parser.c
+++ b/gmime/gmime-parser.c
@@ -872,6 +872,7 @@ next_alloc_size (size_t n)
 static void
 header_parse (GMimeParser *parser, GMimeParserOptions *options)
 {
+       gboolean can_warn = g_mime_parser_options_get_warning_callback (options) != NULL;
        struct _GMimeParserPrivate *priv = parser->priv;
        gboolean blank = FALSE;
        register char *inptr;
@@ -930,7 +931,7 @@ header_parse (GMimeParser *parser, GMimeParserOptions *options)
                priv->header_cb (parser, header->name, header->raw_value,
                                 header->offset, priv->user_data);
        
-       if (!g_utf8_validate (header->raw_value, -1, NULL))
+       if (can_warn && !g_utf8_validate (header->raw_value, -1, NULL))
                _g_mime_parser_options_warn (options, header->offset, GMIME_WARN_UNENCODED_8BIT_HEADER, 
header->name);
 }
 


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