summaryrefslogtreecommitdiff
path: root/src/mime-parsefull.cc
diff options
context:
space:
mode:
authorJannis M. Hoffmann <jannis@fehcom.de>2023-10-07 22:33:50 +0200
committerJannis M. Hoffmann <jannis@fehcom.de>2023-10-08 11:35:51 +0200
commit1978c49bea5b439d993067c055cec47e70db8fd6 (patch)
tree255caea96a13f95564e6b631be9a4ac55ce33cd9 /src/mime-parsefull.cc
parent3b1278f5459514a6d6364f068ff97b8a0432057b (diff)
minor refactoring
Diffstat (limited to 'src/mime-parsefull.cc')
-rw-r--r--src/mime-parsefull.cc50
1 files changed, 22 insertions, 28 deletions
diff --git a/src/mime-parsefull.cc b/src/mime-parsefull.cc
index 50d3157..5d5d836 100644
--- a/src/mime-parsefull.cc
+++ b/src/mime-parsefull.cc
@@ -1,9 +1,10 @@
-/** --------------------------------------------------------------------
+/**
* @file mime-parsefull.cc
* @brief Implementation of main mime parser components
* @author Andreas Aardal Hanssen
* @date 2002-2005
- * ----------------------------------------------------------------- **/
+ */
+
#include "convert.h"
#include "mime-inputsource.h"
#include "mime-utils.h"
@@ -20,11 +21,11 @@
#include <stdio.h>
#include <string.h>
-Binc::MimeInputSource *mimeSource = 0;
+Binc::MimeInputSource *mimeSource = nullptr;
-using namespace ::std;
+using std::string;
+using std::vector;
-//------------------------------------------------------------------------
void Binc::MimeDocument::parseFull(int fd) const
{
if (allIsParsed) return;
@@ -58,7 +59,6 @@ void Binc::MimeDocument::parseFull(int fd) const
size = mimeSource->getOffset();
}
-//------------------------------------------------------------------------
static bool parseOneHeaderLine(Binc::Header *header, unsigned int *nlines)
{
using namespace ::Binc;
@@ -139,14 +139,12 @@ static bool parseOneHeaderLine(Binc::Header *header, unsigned int *nlines)
return !(eof || endOfHeaders);
}
-//------------------------------------------------------------------------
static void parseHeader(Binc::Header *header, unsigned int *nlines)
{
while (parseOneHeaderLine(header, nlines)) {
}
}
-//------------------------------------------------------------------------
static void analyzeHeader(Binc::Header *header,
bool *multipart,
bool *messagerfc822,
@@ -211,7 +209,7 @@ static void parseMessageRFC822(vector<Binc::MimePart> *members,
unsigned int *nbodylines,
const string &toboundary)
{
- using namespace ::Binc;
+ using namespace Binc;
// message rfc822 means a completely enclosed mime document. we
// call the parser recursively, and pass on the boundary string
@@ -230,11 +228,10 @@ static void parseMessageRFC822(vector<Binc::MimePart> *members,
*bodylength = mimeSource->getOffset();
if (*bodylength >= bodystartoffsetcrlf) {
*bodylength -= bodystartoffsetcrlf;
- if (*bodylength >= (unsigned int)bsize) {
+ if (*bodylength >= (unsigned int)bsize)
*bodylength -= (unsigned int)bsize;
- } else {
+ else
*bodylength = 0;
- }
} else {
*bodylength = 0;
}
@@ -247,7 +244,7 @@ static void parseMessageRFC822(vector<Binc::MimePart> *members,
static bool skipUntilBoundary(const string &delimiter, unsigned int *nlines, bool *eof)
{
int endpos = delimiter.length();
- char *delimiterqueue = 0;
+ char *delimiterqueue = nullptr;
int delimiterpos = 0;
const char *delimiterStr = delimiter.c_str();
if (delimiter != "") {
@@ -282,7 +279,7 @@ static bool skipUntilBoundary(const string &delimiter, unsigned int *nlines, boo
}
delete[] delimiterqueue;
- delimiterqueue = 0;
+ delimiterqueue = nullptr;
return foundBoundary;
}
@@ -338,9 +335,9 @@ static void parseMultipart(const string &boundary,
// This exception is to handle a special case where the
// delimiter of one part is not followed by CRLF, but
// immediately followed by a CRLF prefixed delimiter.
- if (!mimeSource->getChar(&a) || !mimeSource->getChar(&b))
+ if (!mimeSource->getChar(&a) || !mimeSource->getChar(&b)) {
*eof = true;
- else if (a == '-' && b == '-') {
+ } else if (a == '-' && b == '-') {
mimeSource->ungetChar();
mimeSource->ungetChar();
mimeSource->ungetChar();
@@ -415,9 +412,9 @@ static void parseMultipart(const string &boundary,
// This exception is to handle a special case where the
// delimiter of one part is not followed by CRLF, but
// immediately followed by a CRLF prefixed delimiter.
- if (!mimeSource->getChar(&a) || !mimeSource->getChar(&b))
+ if (!mimeSource->getChar(&a) || !mimeSource->getChar(&b)) {
*eof = true;
- else if (a == '-' && b == '-') {
+ } else if (a == '-' && b == '-') {
mimeSource->ungetChar();
mimeSource->ungetChar();
mimeSource->ungetChar();
@@ -439,11 +436,10 @@ static void parseMultipart(const string &boundary,
*bodylength = mimeSource->getOffset();
if (*bodylength >= bodystartoffsetcrlf) {
*bodylength -= bodystartoffsetcrlf;
- if (*bodylength >= (unsigned int)*boundarysize) {
+ if (*bodylength >= (unsigned int)*boundarysize)
*bodylength -= (unsigned int)*boundarysize;
- } else {
+ else
*bodylength = 0;
- }
} else {
*bodylength = 0;
}
@@ -471,7 +467,7 @@ static void parseSinglePart(const string &toboundary,
// if (skipUntilBoundary(_toboundary, nlines, eof))
// *boundarysize = _toboundary.length();
- char *boundaryqueue = 0;
+ char *boundaryqueue = nullptr;
int endpos = _toboundary.length();
if (toboundary != "") {
boundaryqueue = new char[endpos];
@@ -525,9 +521,9 @@ static void parseSinglePart(const string &toboundary,
// This exception is to handle a special case where the
// delimiter of one part is not followed by CRLF, but
// immediately followed by a CRLF prefixed delimiter.
- if (!mimeSource->getChar(&a) || !mimeSource->getChar(&b))
+ if (!mimeSource->getChar(&a) || !mimeSource->getChar(&b)) {
*eof = true;
- else if (a == '-' && b == '-') {
+ } else if (a == '-' && b == '-') {
mimeSource->ungetChar();
mimeSource->ungetChar();
mimeSource->ungetChar();
@@ -548,17 +544,15 @@ static void parseSinglePart(const string &toboundary,
*bodylength = mimeSource->getOffset();
if (*bodylength >= bodystartoffsetcrlf) {
*bodylength -= bodystartoffsetcrlf;
- if (*bodylength >= (unsigned int)*boundarysize) {
+ if (*bodylength >= (unsigned int)*boundarysize)
*bodylength -= (unsigned int)*boundarysize;
- } else {
+ else
*bodylength = 0;
- }
} else {
*bodylength = 0;
}
}
-//------------------------------------------------------------------------
int Binc::MimePart::parseFull(const string &toboundary, int &boundarysize) const
{
headerstartoffsetcrlf = mimeSource->getOffset();