Fix SimGear compile on Linux

This commit is contained in:
Torsten Dreyer 2016-02-22 19:49:20 +01:00
parent dda922a651
commit da6b395008
4 changed files with 15 additions and 12 deletions

View File

@ -149,11 +149,12 @@ public:
{
SGPath p(absolutePath());
if (p.exists()) {
bool indexValid = false;
// what is indexValid for?
// bool indexValid = false;
try {
// already exists on disk
parseDirIndex(children);
indexValid = true;
// indexValid = true;
std::sort(children.begin(), children.end());
} catch (sg_exception& e) {
// parsing cache failed
@ -336,7 +337,7 @@ private:
{
SGPath p(absolutePath());
p.append(".dirindex");
std::ifstream indexStream( p.str(), std::ios::in );
std::ifstream indexStream( p.str().c_str(), std::ios::in );
if ( !indexStream.is_open() ) {
throw sg_io_exception("cannot open dirIndex file", p);
@ -593,7 +594,7 @@ HTTPRepository::failure() const
// dir index data has changed, so write to disk and update
// the hash accordingly
std::ofstream of(pathInRepo().str(), std::ios::trunc | std::ios::out);
std::ofstream of(pathInRepo().str().c_str(), std::ios::trunc | std::ios::out);
assert(of.is_open());
of.write(body.data(), body.size());
of.close();
@ -732,7 +733,7 @@ HTTPRepository::failure() const
SGPath cachePath = basePath;
cachePath.append(".hashes");
std::ofstream stream(cachePath.str(),std::ios::out | std::ios::trunc);
std::ofstream stream(cachePath.str().c_str(),std::ios::out | std::ios::trunc);
HashCache::const_iterator it;
for (it = hashes.begin(); it != hashes.end(); ++it) {
stream << it->filePath << ":" << it->modTime << ":"
@ -750,7 +751,7 @@ HTTPRepository::failure() const
return;
}
std::ifstream stream(cachePath.str(), std::ios::in);
std::ifstream stream(cachePath.str().c_str(), std::ios::in);
char buf[2048];
char* lastToken;

View File

@ -21,6 +21,7 @@
#define SG_IO_HTTP_REPOSITORY_HXX
#include <simgear/io/AbstractRepository.hxx>
#include <memory>
namespace simgear {

View File

@ -21,6 +21,7 @@
#define SG_IO_SVN_REPOSITORY_HXX
#include <simgear/io/AbstractRepository.hxx>
#include <memory>
namespace simgear {

View File

@ -111,7 +111,7 @@ public:
TestRepoEntry* childEntry(const std::string& name) const
{
assert(isDir);
for (int i=0; i<children.size(); ++i) {
for (size_t i=0; i<children.size(); ++i) {
if (children[i]->name == name) {
return children[i];
}
@ -143,7 +143,7 @@ TestRepoEntry::TestRepoEntry(TestRepoEntry* pr, const std::string& nm, bool d) :
TestRepoEntry::~TestRepoEntry()
{
for (int i=0; i<children.size(); ++i) {
for (size_t i=0; i<children.size(); ++i) {
delete children[i];
}
}
@ -154,7 +154,7 @@ std::string TestRepoEntry::data() const
std::ostringstream os;
os << "version:1\n";
os << "path:" << pathInRepo() << "\n";
for (int i=0; i<children.size(); ++i) {
for (size_t i=0; i<children.size(); ++i) {
os << children[i]->indexLine() << "\n";
}
return os.str();
@ -184,7 +184,7 @@ void TestRepoEntry::clearRequestCounts()
{
requestCount = 0;
if (isDir) {
for (int i=0; i<children.size(); ++i) {
for (size_t i=0; i<children.size(); ++i) {
children[i]->clearRequestCounts();
}
}
@ -300,7 +300,7 @@ void createFile(const SGPath& basePath, const std::string& relPath, int revision
std::string prName = comps.at(comps.size() - 2);
{
std::ofstream f(p.str(), std::ios::trunc | std::ios::out);
std::ofstream f(p.str().c_str(), std::ios::trunc | std::ios::out);
f << dataForFile(prName, comps.back(), revision);
}
}
@ -378,7 +378,7 @@ void testModifyLocalFiles(HTTP::Client* cl)
SGPath modFile(p);
modFile.append("dirB/subdirA/fileBAA");
{
std::ofstream of(modFile.str(), std::ios::out | std::ios::trunc);
std::ofstream of(modFile.str().c_str(), std::ios::out | std::ios::trunc);
of << "complete nonsense";
of.close();
}