summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-11-05 19:34:36 (GMT)
committerBrad King <brad.king@kitware.com>2007-11-05 19:34:36 (GMT)
commitf410f8578eea403d0ca657e46ec7659cd0f805e7 (patch)
tree09715a217fb40d51d17508c95244dbdfa6d1d399 /Source
parentcfa723d45792ef6969304fb7d9274778f662a116 (diff)
downloadCMake-f410f8578eea403d0ca657e46ec7659cd0f805e7.zip
CMake-f410f8578eea403d0ca657e46ec7659cd0f805e7.tar.gz
CMake-f410f8578eea403d0ca657e46ec7659cd0f805e7.tar.bz2
COMP: Fix warnings on 64-bit Mac OS X build. Patch from issue #3697.
Diffstat (limited to 'Source')
-rw-r--r--Source/CPack/cmCPackDebGenerator.cxx10
-rw-r--r--Source/CPack/cmCPackNSISGenerator.cxx4
-rw-r--r--Source/CPack/cmCPackPackageMakerGenerator.cxx4
-rw-r--r--Source/CPack/cmCPackPackageMakerGenerator.h2
-rw-r--r--Source/CTest/cmCTestCoverageHandler.cxx6
-rw-r--r--Source/CTest/cmCTestSubmitHandler.cxx10
-rw-r--r--Source/cmake.cxx4
-rw-r--r--Source/kwsys/SystemTools.cxx7
8 files changed, 27 insertions, 20 deletions
diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx
index 75bf36f..0c9eab6 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -338,7 +338,7 @@ static int copy_ar(CF *cfp, off_t size)
{
static char pad = '\n';
off_t sz = size;
- int nr, nw;
+ size_t nr, nw;
char buf[8*1024];
if (sz == 0)
@@ -347,11 +347,11 @@ static int copy_ar(CF *cfp, off_t size)
FILE* from = cfp->rFile;
FILE* to = cfp->wFile;
while (sz &&
- (nr = fread(buf, 1, sz < off_t(sizeof(buf)) ? sz : sizeof(buf), from ))
+ (nr = fread(buf, 1, sz < static_cast<off_t>(sizeof(buf)) ? static_cast<size_t>(sz) : sizeof(buf), from ))
> 0) {
sz -= nr;
- for (int off = 0; off < nr; nr -= off, off += nw)
- if ((nw = fwrite(buf + off, 1, nr, to)) < 0)
+ for (size_t off = 0; off < nr; nr -= off, off += nw)
+ if ((nw = fwrite(buf + off, 1, nr, to)) < nr)
return -1;
}
if (sz)
@@ -424,7 +424,7 @@ static int ar_append(const char* archive,const std::vector<std::string>& files)
FILE* aFile = fopen(archive, "wb+");
if (aFile!=NULL) {
fwrite(ARMAG, SARMAG, 1, aFile);
- if (fseek(aFile, (off_t)0, SEEK_END) != (off_t)-1) {
+ if (fseek(aFile, 0, SEEK_END) != -1) {
CF cf;
struct stat sb;
/* Read from disk, write to an archive; pad on write. */
diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
index 8fa1152..953b367 100644
--- a/Source/CPack/cmCPackNSISGenerator.cxx
+++ b/Source/CPack/cmCPackNSISGenerator.cxx
@@ -216,8 +216,8 @@ int cmCPackNSISGenerator::InitializeInternal()
<< "Please check " << tmpFile.c_str() << " for errors" << std::endl);
return 0;
}
- float nsisVersion = atof(versionRex.match(1).c_str());
- float minNSISVersion = 2.09;
+ double nsisVersion = atof(versionRex.match(1).c_str());
+ double minNSISVersion = 2.09;
cmCPackLogger(cmCPackLog::LOG_DEBUG, "NSIS Version: "
<< nsisVersion << std::endl);
if ( nsisVersion < minNSISVersion )
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.cxx b/Source/CPack/cmCPackPackageMakerGenerator.cxx
index 79dac06..47078a7 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.cxx
+++ b/Source/CPack/cmCPackPackageMakerGenerator.cxx
@@ -30,7 +30,7 @@
//----------------------------------------------------------------------
cmCPackPackageMakerGenerator::cmCPackPackageMakerGenerator()
{
- this->PackageMakerVersion = 0;
+ this->PackageMakerVersion = 0.0;
}
//----------------------------------------------------------------------
@@ -196,7 +196,7 @@ int cmCPackPackageMakerGenerator::InitializeInternal()
return 0;
}
this->PackageMakerVersion = atof(rexVersion.match(1).c_str());
- if ( this->PackageMakerVersion < 1 )
+ if ( this->PackageMakerVersion < 1.0 )
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "Require PackageMaker 1.0 or higher"
<< std::endl);
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.h b/Source/CPack/cmCPackPackageMakerGenerator.h
index 21cb4fc..ee6f302 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.h
+++ b/Source/CPack/cmCPackPackageMakerGenerator.h
@@ -48,7 +48,7 @@ protected:
bool CopyCreateResourceFile(const char* name);
bool CopyResourcePlistFile(const char* name);
- float PackageMakerVersion;
+ double PackageMakerVersion;
};
#endif
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 1f27394..0606cd9 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -1501,15 +1501,15 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
float cper = percentBranch + percentFunction;
if(totalBranches > 0)
{
- cper /= 2.0;
+ cper /= 2.0f;
}
percent_coverage += cper;
float cmet = percentFunction + percentBranch;
if(totalBranches > 0)
{
- cmet /= 2.0;
+ cmet /= 2.0f;
}
- cmet /= 100.0;
+ cmet /= 100.0f;
// Hack for conversion of function to loc assume a function
// has 100 lines of code
functionsCalled *=100;
diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx
index 05a8e5a..8e7919d 100644
--- a/Source/CTest/cmCTestSubmitHandler.cxx
+++ b/Source/CTest/cmCTestSubmitHandler.cxx
@@ -695,7 +695,15 @@ bool cmCTestSubmitHandler::SubmitUsingXMLRPC(const cmStdString& localprefix,
return false;
}
- size_t fileSize = st.st_size;
+ // off_t can be bigger than size_t. fread takes size_t.
+ // make sure the file is not too big.
+ if (st.st_size > (size_t)-1)
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE, " File too big: "
+ << local_file.c_str() << std::endl);
+ return false;
+ }
+ size_t fileSize = static_cast<size_t>(st.st_size);
FILE* fp = fopen(local_file.c_str(), "rb");
if ( !fp )
{
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index f8c2482..d85a69a 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -2484,8 +2484,8 @@ void cmake::TruncateOutputLog(const char* fname)
cmSystemTools::RemoveFile(fullPath.c_str());
return;
}
- size_t fsize = st.st_size;
- const size_t maxFileSize = 50 * 1024;
+ off_t fsize = st.st_size;
+ const off_t maxFileSize = 50 * 1024;
if ( fsize < maxFileSize )
{
//TODO: truncate file
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index 759dc9f..accfdd9 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -1588,17 +1588,16 @@ bool SystemTools::FilesDiffer(const char* source,
// Compare the files a block at a time.
char source_buf[KWSYS_ST_BUFFER];
char dest_buf[KWSYS_ST_BUFFER];
- long nleft = statSource.st_size;
+ off_t nleft = statSource.st_size;
while(nleft > 0)
{
// Read a block from each file.
- long nnext = (nleft > KWSYS_ST_BUFFER)? KWSYS_ST_BUFFER : nleft;
+ kwsys_ios::streamsize nnext = (nleft > KWSYS_ST_BUFFER)? KWSYS_ST_BUFFER : static_cast<kwsys_ios::streamsize>(nleft);
finSource.read(source_buf, nnext);
finDestination.read(dest_buf, nnext);
// If either failed to read assume they are different.
- if(static_cast<long>(finSource.gcount()) != nnext ||
- static_cast<long>(finDestination.gcount()) != nnext)
+ if(finSource.gcount() != nnext || finDestination.gcount() != nnext)
{
return true;
}