|
a/src/bincimapmime/mime-inputsource.h |
|
b/src/bincimapmime/mime-inputsource.h |
|
... |
|
... |
31 |
#endif
|
31 |
#endif
|
32 |
|
32 |
|
33 |
#include <string.h>
|
33 |
#include <string.h>
|
34 |
#include <unistd.h>
|
34 |
#include <unistd.h>
|
35 |
|
35 |
|
36 |
#include <istream>
|
36 |
#include <iostream>
|
37 |
|
37 |
|
38 |
namespace Binc {
|
38 |
namespace Binc {
|
39 |
|
39 |
|
40 |
class MimeInputSource {
|
40 |
class MimeInputSource {
|
41 |
public:
|
41 |
public:
|
|
... |
|
... |
187 |
inline size_t MimeInputSourceStream::fillRaw(char *raw, size_t nb)
|
187 |
inline size_t MimeInputSourceStream::fillRaw(char *raw, size_t nb)
|
188 |
{
|
188 |
{
|
189 |
// Why can't streams tell how many characters were actually read
|
189 |
// Why can't streams tell how many characters were actually read
|
190 |
// when hitting eof ?
|
190 |
// when hitting eof ?
|
191 |
std::streampos st = s.tellg();
|
191 |
std::streampos st = s.tellg();
|
192 |
s.seekg(0, ios_base::end);
|
192 |
s.seekg(0, ios::end);
|
193 |
std::streampos lst = s.tellg();
|
193 |
std::streampos lst = s.tellg();
|
194 |
s.seekg(st);
|
194 |
s.seekg(st);
|
195 |
size_t nbytes = lst - st;
|
195 |
size_t nbytes = lst - st;
|
196 |
if (nbytes > nb) {
|
196 |
if (nbytes > nb) {
|
197 |
nbytes = nb;
|
197 |
nbytes = nb;
|