summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceSSL')
-rwxr-xr-xcpp/src/IceSSL/Util.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/Util.cpp b/cpp/src/IceSSL/Util.cpp
index 294640565a5..b0216df5bc7 100755
--- a/cpp/src/IceSSL/Util.cpp
+++ b/cpp/src/IceSSL/Util.cpp
@@ -118,7 +118,12 @@ IceSSL::readFile(const string& file, vector<char>& buffer)
}
is.seekg(0, is.end);
+#ifdef __IBMCPP__
+ // xlC bug. See src/Ice/LoggerI.cpp
+ buffer.resize(static_cast<size_t>(is.rdbuf()->pubseekoff(0, is.cur, is.in)));
+#else
buffer.resize(static_cast<size_t>(is.tellg()));
+#endif
is.seekg(0, is.beg);
if(!buffer.empty())