|
a/src/bincimapmime/mime-parsefull.cc |
|
b/src/bincimapmime/mime-parsefull.cc |
|
... |
|
... |
78 |
while (mimeSource->getChar(&c));
|
78 |
while (mimeSource->getChar(&c));
|
79 |
|
79 |
|
80 |
size = mimeSource->getOffset();
|
80 |
size = mimeSource->getOffset();
|
81 |
}
|
81 |
}
|
82 |
|
82 |
|
|
|
83 |
void Binc::MimeDocument::parseFull(istream& s) const
|
|
|
84 |
{
|
|
|
85 |
if (allIsParsed)
|
|
|
86 |
return;
|
|
|
87 |
|
|
|
88 |
allIsParsed = true;
|
|
|
89 |
|
|
|
90 |
delete mimeSource;
|
|
|
91 |
mimeSource = new MimeInputSourceStream(s);
|
|
|
92 |
|
|
|
93 |
headerstartoffsetcrlf = 0;
|
|
|
94 |
headerlength = 0;
|
|
|
95 |
bodystartoffsetcrlf = 0;
|
|
|
96 |
bodylength = 0;
|
|
|
97 |
size = 0;
|
|
|
98 |
messagerfc822 = false;
|
|
|
99 |
multipart = false;
|
|
|
100 |
|
|
|
101 |
int bsize = 0;
|
|
|
102 |
string bound;
|
|
|
103 |
MimePart::parseFull(bound, bsize);
|
|
|
104 |
|
|
|
105 |
// eat any trailing junk to get the correct size
|
|
|
106 |
char c;
|
|
|
107 |
while (mimeSource->getChar(&c));
|
|
|
108 |
|
|
|
109 |
size = mimeSource->getOffset();
|
|
|
110 |
}
|
|
|
111 |
|
83 |
//------------------------------------------------------------------------
|
112 |
//------------------------------------------------------------------------
|
84 |
static bool parseOneHeaderLine(Binc::Header *header, unsigned int *nlines)
|
113 |
static bool parseOneHeaderLine(Binc::Header *header, unsigned int *nlines)
|
85 |
{
|
114 |
{
|
86 |
using namespace ::Binc;
|
115 |
using namespace ::Binc;
|
87 |
char c;
|
116 |
char c;
|