[gmime/gmime-2-6] Slight parser optimization and additional check
- From: Jeffrey Stedfast <fejj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gmime/gmime-2-6] Slight parser optimization and additional check
- Date: Sun, 26 Mar 2017 19:32:00 +0000 (UTC)
commit 8a58f0396a5424f2d2ec55334a960aa0e0be60bb
Author: Jeffrey Stedfast <jestedfa microsoft com>
Date: Sun Mar 19 09:49:17 2017 -0400
Slight parser optimization and additional check
The additional check makes sure that 'aligned'
doesn't happen to fall on a '\n' character.
gmime/gmime-parser.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gmime/gmime-parser.c b/gmime/gmime-parser.c
index 2cff709..58589f2 100644
--- a/gmime/gmime-parser.c
+++ b/gmime/gmime-parser.c
@@ -1468,6 +1468,7 @@ parser_scan_content (GMimeParser *parser, GByteArray *content, guint *crlf)
size_t atleast;
int found = 0;
int mask;
+ char c;
d(printf ("scan-content\n"));
@@ -1505,10 +1506,15 @@ parser_scan_content (GMimeParser *parser, GByteArray *content, guint *crlf)
start = inptr;
/* Note: see optimization comment [1] */
- while (inptr < aligned && *inptr != '\n')
+ c = *aligned;
+ *aligned = '\n';
+
+ while (*inptr != '\n')
inptr++;
- if (inptr == aligned) {
+ *aligned = c;
+
+ if (inptr == aligned && c != '\n') {
dword = (int *) inptr;
do {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]