aboutsummaryrefslogtreecommitdiffstats
path: root/src/platforms/posix/posixChildProcess.cpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2013-12-10 07:52:51 +0000
committerVincent Richard <[email protected]>2013-12-10 07:52:51 +0000
commit7e265b05f440ed81b80f2de496c9d13221a69fe0 (patch)
treed4dad210715ea9d60b2136bd416647d4bc02166a /src/platforms/posix/posixChildProcess.cpp
parentEnforce strict aliasing rule and avoid alignment issues. (diff)
downloadvmime-7e265b05f440ed81b80f2de496c9d13221a69fe0.tar.gz
vmime-7e265b05f440ed81b80f2de496c9d13221a69fe0.zip
Simplified types for better readability. Use appropriate types (size_t, byte_t...). Minor warning fixes.
Diffstat (limited to 'src/platforms/posix/posixChildProcess.cpp')
-rw-r--r--src/platforms/posix/posixChildProcess.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/platforms/posix/posixChildProcess.cpp b/src/platforms/posix/posixChildProcess.cpp
index c4761624..54d4cd75 100644
--- a/src/platforms/posix/posixChildProcess.cpp
+++ b/src/platforms/posix/posixChildProcess.cpp
@@ -118,7 +118,14 @@ public:
{
}
- void write(const value_type* const data, const size_type count)
+ void flush()
+ {
+ ::fsync(m_desc);
+ }
+
+protected:
+
+ void writeImpl(const byte_t* const data, const size_t count)
{
if (::write(m_desc, data, count) == -1)
{
@@ -127,11 +134,6 @@ public:
}
}
- void flush()
- {
- ::fsync(m_desc);
- }
-
private:
const int m_desc;
@@ -159,13 +161,13 @@ public:
// Do nothing: unsupported
}
- size_type skip(const size_type count)
+ size_t skip(const size_t count)
{
// TODO: not tested
- value_type buffer[4096];
+ byte_t buffer[4096];
- int bytesSkipped = 0;
- int bytesRead = 0;
+ ssize_t bytesSkipped = 0;
+ ssize_t bytesRead = 0;
while ((bytesRead = ::read(m_desc, buffer,
std::min(sizeof(buffer), count - bytesSkipped))) != 0)
@@ -179,12 +181,12 @@ public:
bytesSkipped += bytesRead;
}
- return static_cast <size_type>(bytesSkipped);
+ return static_cast <size_t>(bytesSkipped);
}
- size_type read(value_type* const data, const size_type count)
+ size_t read(byte_t* const data, const size_t count)
{
- int bytesRead = 0;
+ ssize_t bytesRead = 0;
if ((bytesRead = ::read(m_desc, data, count)) == -1)
{
@@ -194,7 +196,7 @@ public:
m_eof = (bytesRead == 0);
- return static_cast <size_type>(bytesRead);
+ return static_cast <size_t>(bytesRead);
}
private: