summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-06-25 12:48:59 (GMT)
committerBrad King <brad.king@kitware.com>2010-06-25 13:05:15 (GMT)
commit6fc4cd86806b349c804cf9dacb2dd04c289a684f (patch)
treed14bd8a90831a301d911629357a613262bc4e9d4 /Source/cmSystemTools.cxx
parentda0190a4a7511b33e6c373b735ccd2e132e083e5 (diff)
downloadCMake-6fc4cd86806b349c804cf9dacb2dd04c289a684f.zip
CMake-6fc4cd86806b349c804cf9dacb2dd04c289a684f.tar.gz
CMake-6fc4cd86806b349c804cf9dacb2dd04c289a684f.tar.bz2
Fix or cast integer conversions in cmake
These were revealed by GCC's -Wconversion option. Fix types where it is easy to do so. Cast in cases we know the integer will not be truncated.
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r--Source/cmSystemTools.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 5f7cfa3..5be53c2 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1204,6 +1204,7 @@ bool cmSystemTools::ComputeFileMD5(const char* source, char* md5out)
// Should be efficient enough on most system:
const int bufferSize = 4096;
char buffer[bufferSize];
+ unsigned char const* buffer_uc = reinterpret_cast<unsigned char const*>(buffer);
// This copy loop is very sensitive on certain platforms with
// slightly broken stream libraries (like HPUX). Normally, it is
// incorrect to not check the error condition on the fin.read()
@@ -1212,10 +1213,9 @@ bool cmSystemTools::ComputeFileMD5(const char* source, char* md5out)
while(fin)
{
fin.read(buffer, bufferSize);
- if(fin.gcount())
+ if(int gcount = static_cast<int>(fin.gcount()))
{
- cmsysMD5_Append(md5, reinterpret_cast<unsigned char const*>(buffer),
- fin.gcount());
+ cmsysMD5_Append(md5, buffer_uc, gcount);
}
}
cmsysMD5_FinalizeHex(md5, md5out);