From f48261abcc2f03f51de47f81f1024282ef842d00 Mon Sep 17 00:00:00 2001 From: Scott R Charlton Date: Tue, 20 Aug 2013 02:30:14 +0000 Subject: [PATCH] minor cleanup git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/branches/multi_punch@7947 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- src/IPhreeqc.cpp | 146 +++++++++++++++++++++++++----------------- unit/TestIPhreeqc.cpp | 146 +++++++++++------------------------------- unit/unit.cpp | 93 ++------------------------- 3 files changed, 130 insertions(+), 255 deletions(-) diff --git a/src/IPhreeqc.cpp b/src/IPhreeqc.cpp index e827d716..66bbd67c 100644 --- a/src/IPhreeqc.cpp +++ b/src/IPhreeqc.cpp @@ -1025,74 +1025,106 @@ void IPhreeqc::do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALL } else { + //{{ std::map< int, class SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin(); for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it) { - if (!(*it).second.Get_new_def()) + if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream()) { - if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream()) + // + // LoadDatabase + // do_run -- containing SELECTED_OUTPUT ****TODO**** check -file option + // another do_run without SELECTED_OUTPUT + // + ASSERT(!this->SelectedOutputFileNameMap[(*it).first].empty()); + ASSERT(this->SelectedOutputFileNameMap[(*it).first] == this->PhreeqcPtr->SelectedOutput_map[(*it).first].Get_file_name()); + std::string filename = this->SelectedOutputFileNameMap[(*it).first]; + if (!punch_open(filename.c_str(), std::ios_base::out, (*it).first)) { - // - // LoadDatabase - // do_run -- containing SELECTED_OUTPUT ****TODO**** check -file option - // another do_run without SELECTED_OUTPUT - // - ASSERT(!this->SelectedOutputFileNameMap[(*it).first].empty()); - std::string filename = this->SelectedOutputFileNameMap[(*it).first]; - if (!punch_open(filename.c_str(), std::ios_base::out, (*it).first)) - { - std::ostringstream oss; - oss << sz_routine << ": Unable to open:" << "\"" << filename << "\".\n"; - this->PhreeqcPtr->warning_msg(oss.str().c_str()); - } - else - { - ASSERT(this->Get_punch_ostream() == NULL); - ASSERT((*it).second.Get_punch_ostream() != NULL); - // output selected_output headings - (*it).second.Set_new_def(TRUE); - this->PhreeqcPtr->tidy_punch(); - } + std::ostringstream oss; + oss << sz_routine << ": Unable to open:" << "\"" << filename << "\".\n"; + this->PhreeqcPtr->warning_msg(oss.str().c_str()); } else { - ASSERT(TRUE); - } - } - else - { - if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream()) - { - // This is a special case which could not occur in - // phreeqc - // - // LoadDatabase - // do_run -- containing SELECTED_OUTPUT ****TODO**** check -file option - // another do_run with SELECTED_OUTPUT - // - std::string filename = this->SelectedOutputFileNameMap[(*it).first]; - if (!this->punch_open(filename.c_str(), std::ios_base::out, (*it).first)) - { - std::ostringstream oss; - oss << sz_routine << ": Unable to open:" << "\"" << filename << "\".\n"; - this->PhreeqcPtr->warning_msg(oss.str().c_str()); - } - else - { - ASSERT(this->Get_punch_ostream() == NULL); - ASSERT((*it).second.Get_punch_ostream() != NULL); - - // output selected_output headings - ASSERT((*it).second.Get_new_def()); - this->PhreeqcPtr->tidy_punch(); - } - } - else - { - ASSERT(TRUE); + ASSERT(this->Get_punch_ostream() == NULL); + ASSERT((*it).second.Get_punch_ostream() != NULL); + + // output selected_output headings + (*it).second.Set_new_def(TRUE); + this->PhreeqcPtr->tidy_punch(); } } } + //}} +// COMMENT: {8/19/2013 5:22:41 PM} std::map< int, class SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin(); +// COMMENT: {8/19/2013 5:22:41 PM} for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it) +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} if (!(*it).second.Get_new_def()) +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream()) +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} // +// COMMENT: {8/19/2013 5:22:41 PM} // LoadDatabase +// COMMENT: {8/19/2013 5:22:41 PM} // do_run -- containing SELECTED_OUTPUT ****TODO**** check -file option +// COMMENT: {8/19/2013 5:22:41 PM} // another do_run without SELECTED_OUTPUT +// COMMENT: {8/19/2013 5:22:41 PM} // +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT(!this->SelectedOutputFileNameMap[(*it).first].empty()); +// COMMENT: {8/19/2013 5:22:41 PM} std::string filename = this->SelectedOutputFileNameMap[(*it).first]; +// COMMENT: {8/19/2013 5:22:41 PM} if (!punch_open(filename.c_str(), std::ios_base::out, (*it).first)) +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} std::ostringstream oss; +// COMMENT: {8/19/2013 5:22:41 PM} oss << sz_routine << ": Unable to open:" << "\"" << filename << "\".\n"; +// COMMENT: {8/19/2013 5:22:41 PM} this->PhreeqcPtr->warning_msg(oss.str().c_str()); +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} else +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT(this->Get_punch_ostream() == NULL); +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT((*it).second.Get_punch_ostream() != NULL); +// COMMENT: {8/19/2013 5:22:41 PM} // output selected_output headings +// COMMENT: {8/19/2013 5:22:41 PM} (*it).second.Set_new_def(TRUE); +// COMMENT: {8/19/2013 5:22:41 PM} this->PhreeqcPtr->tidy_punch(); +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} else +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT(TRUE); +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} else +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream()) +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} // This is a special case which could not occur in +// COMMENT: {8/19/2013 5:22:41 PM} // phreeqc +// COMMENT: {8/19/2013 5:22:41 PM} // +// COMMENT: {8/19/2013 5:22:41 PM} // LoadDatabase +// COMMENT: {8/19/2013 5:22:41 PM} // do_run -- containing SELECTED_OUTPUT ****TODO**** check -file option +// COMMENT: {8/19/2013 5:22:41 PM} // another do_run with SELECTED_OUTPUT +// COMMENT: {8/19/2013 5:22:41 PM} // +// COMMENT: {8/19/2013 5:22:41 PM} std::string filename = this->SelectedOutputFileNameMap[(*it).first]; +// COMMENT: {8/19/2013 5:22:41 PM} if (!this->punch_open(filename.c_str(), std::ios_base::out, (*it).first)) +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} std::ostringstream oss; +// COMMENT: {8/19/2013 5:22:41 PM} oss << sz_routine << ": Unable to open:" << "\"" << filename << "\".\n"; +// COMMENT: {8/19/2013 5:22:41 PM} this->PhreeqcPtr->warning_msg(oss.str().c_str()); +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} else +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT(this->Get_punch_ostream() == NULL); +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT((*it).second.Get_punch_ostream() != NULL); +// COMMENT: {8/19/2013 5:22:41 PM} +// COMMENT: {8/19/2013 5:22:41 PM} // output selected_output headings +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT((*it).second.Get_new_def()); +// COMMENT: {8/19/2013 5:22:41 PM} this->PhreeqcPtr->tidy_punch(); +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} else +// COMMENT: {8/19/2013 5:22:41 PM} { +// COMMENT: {8/19/2013 5:22:41 PM} ASSERT(TRUE); +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} } +// COMMENT: {8/19/2013 5:22:41 PM} } } } else diff --git a/unit/TestIPhreeqc.cpp b/unit/TestIPhreeqc.cpp index d722bf8c..20a4a16f 100644 --- a/unit/TestIPhreeqc.cpp +++ b/unit/TestIPhreeqc.cpp @@ -10,15 +10,6 @@ #undef false #include "CVar.hxx" -// COMMENT: {8/16/2013 11:49:20 PM}#if defined(_WIN32) || defined(__CYGWIN32__) -// COMMENT: {8/16/2013 11:49:20 PM}// DeleteFile defined in -// COMMENT: {8/16/2013 11:49:20 PM}#else -// COMMENT: {8/16/2013 11:49:20 PM}int DeleteFile(const char* szPathName); -// COMMENT: {8/16/2013 11:49:20 PM}#endif -// COMMENT: {8/16/2013 11:49:20 PM} -// COMMENT: {8/16/2013 11:49:20 PM}bool FileExists(const char *szPathName); -// COMMENT: {8/16/2013 11:49:20 PM}size_t FileSize(const char *szPathName); - VRESULT SOLUTION(IPhreeqc& obj, double C, double Ca, double Na); VRESULT EQUILIBRIUM_PHASES(IPhreeqc& obj, const char* phase, double si, double amount); VRESULT USER_PUNCH(IPhreeqc& obj, const char* element, int max); @@ -3474,21 +3465,14 @@ void TestIPhreeqc::TestDelete(void) void TestIPhreeqc::TestRunFileMultiPunchOn(void) { - if (::FileExists("multi_punch_1.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_1.sel")); - } - if (::FileExists("multi_punch_2.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_2.sel")); - } - if (::FileExists("multi_punch_3.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_3.sel")); - } - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_1.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_2.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_3.sel") ); + FileTest set1("multi_punch_1.sel"); + CPPUNIT_ASSERT( set1.RemoveExisting() ); + + FileTest set2("multi_punch_2.sel"); + CPPUNIT_ASSERT( set2.RemoveExisting() ); + + FileTest set3("multi_punch_3.sel"); + CPPUNIT_ASSERT( set3.RemoveExisting() ); IPhreeqc obj; @@ -3496,44 +3480,21 @@ void TestIPhreeqc::TestRunFileMultiPunchOn(void) obj.SetSelectedOutputFileOn(true); CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch")); - CPPUNIT_ASSERT_EQUAL( true, ::FileExists("multi_punch_1.sel") ); - CPPUNIT_ASSERT_EQUAL( true, ::FileExists("multi_punch_2.sel") ); - CPPUNIT_ASSERT_EQUAL( true, ::FileExists("multi_punch_3.sel") ); - - // CLEANUP - if (::FileExists("multi_punch_1.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_1.sel")); - } - if (::FileExists("multi_punch_2.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_2.sel")); - } - if (::FileExists("multi_punch_3.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_3.sel")); - } + CPPUNIT_ASSERT( set1.VerifyExists() ); + CPPUNIT_ASSERT( set2.VerifyExists() ); + CPPUNIT_ASSERT( set3.VerifyExists() ); } void TestIPhreeqc::TestRunFileMultiPunchOff(void) { - const char dump_file[] = "error.inp"; + FileTest set1("multi_punch_1.sel"); + CPPUNIT_ASSERT( set1.RemoveExisting() ); - if (::FileExists("multi_punch_1.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_1.sel")); - } - if (::FileExists("multi_punch_2.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_2.sel")); - } - if (::FileExists("multi_punch_3.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_3.sel")); - } - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_1.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_2.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_3.sel") ); + FileTest set2("multi_punch_2.sel"); + CPPUNIT_ASSERT( set2.RemoveExisting() ); + + FileTest set3("multi_punch_3.sel"); + CPPUNIT_ASSERT( set3.RemoveExisting() ); IPhreeqc obj; @@ -3545,72 +3506,39 @@ void TestIPhreeqc::TestRunFileMultiPunchOff(void) obj.SetDumpFileOn(false); CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch")); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_1.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_2.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_3.sel") ); - - // CLEANUP - if (::FileExists("multi_punch_1.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_1.sel")); - } - if (::FileExists("multi_punch_2.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_2.sel")); - } - if (::FileExists("multi_punch_3.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_3.sel")); - } + CPPUNIT_ASSERT( set1.VerifyMissing() ); + CPPUNIT_ASSERT( set2.VerifyMissing() ); + CPPUNIT_ASSERT( set3.VerifyMissing() ); } void TestIPhreeqc::TestRunFileMultiPunchSet(void) { - if (::FileExists("multi_punch_1.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_1.sel")); - } - if (::FileExists("multi_punch_2.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_2.sel")); - } - if (::FileExists("multi_punch_3.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_3.sel")); - } - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_1.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_2.sel") ); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("multi_punch_3.sel") ); + FileTest called("XXX.sel"); + CPPUNIT_ASSERT( called.RemoveExisting() ); + + FileTest set1("multi_punch_1.sel"); + CPPUNIT_ASSERT( set1.RemoveExisting() ); + + FileTest set2("multi_punch_2.sel"); + CPPUNIT_ASSERT( set2.RemoveExisting() ); + + FileTest set3("multi_punch_3.sel"); + CPPUNIT_ASSERT( set3.RemoveExisting() ); IPhreeqc obj; CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("phreeqc.dat")); obj.SetSelectedOutputFileOn(true); - obj.SetSelectedOutputFileName("XXX"); + obj.SetSelectedOutputFileName(called.GetName().c_str()); CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch")); - CPPUNIT_ASSERT_EQUAL( false, ::FileExists("XXX") ); - CPPUNIT_ASSERT_EQUAL( true, ::FileExists("multi_punch_1.sel") ); - CPPUNIT_ASSERT_EQUAL( true, ::FileExists("multi_punch_2.sel") ); - CPPUNIT_ASSERT_EQUAL( true, ::FileExists("multi_punch_3.sel") ); + CPPUNIT_ASSERT( called.VerifyMissing() ); - // CLEANUP - if (::FileExists("multi_punch_1.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_1.sel")); - } - if (::FileExists("multi_punch_2.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_2.sel")); - } - if (::FileExists("multi_punch_3.sel")) - { - CPPUNIT_ASSERT(::DeleteFile("multi_punch_3.sel")); - } + CPPUNIT_ASSERT( set1.VerifyExists() ); + CPPUNIT_ASSERT( set2.VerifyExists() ); + CPPUNIT_ASSERT( set3.VerifyExists() ); } - - void TestIPhreeqc::TestRunFileMultiPunchNoSet(void) { IPhreeqc obj; diff --git a/unit/unit.cpp b/unit/unit.cpp index 7da10953..672145c2 100644 --- a/unit/unit.cpp +++ b/unit/unit.cpp @@ -75,11 +75,11 @@ int main(int argc, char **argv) s.startTimer(); #endif -// COMMENT: {8/16/2013 12:14:16 AM} runner.addTest(TestVar::suite()); -// COMMENT: {8/16/2013 12:14:16 AM} runner.addTest(TestCVar::suite()); -// COMMENT: {8/16/2013 12:14:16 AM} runner.addTest(TestSelectedOutput::suite()); + runner.addTest(TestVar::suite()); + runner.addTest(TestCVar::suite()); + runner.addTest(TestSelectedOutput::suite()); runner.addTest(TestIPhreeqc::suite()); -// COMMENT: {8/16/2013 12:14:19 AM} runner.addTest(TestIPhreeqcLib::suite()); + runner.addTest(TestIPhreeqcLib::suite()); runner.setOutputter(CppUnit::CompilerOutputter::defaultOutputter(&runner.result(), std::cout)); @@ -97,88 +97,3 @@ int main(int argc, char **argv) return wasSucessful; } - -// COMMENT: {8/16/2013 11:40:58 PM}#if defined(_WIN32) || defined(__CYGWIN32__) -// COMMENT: {8/16/2013 11:40:58 PM}bool FileExists(const char *szPathName) -// COMMENT: {8/16/2013 11:40:58 PM}{ -// COMMENT: {8/16/2013 11:40:58 PM} SECURITY_ATTRIBUTES sa; -// COMMENT: {8/16/2013 11:40:58 PM} sa.nLength = sizeof(SECURITY_ATTRIBUTES); -// COMMENT: {8/16/2013 11:40:58 PM} sa.lpSecurityDescriptor = NULL; -// COMMENT: {8/16/2013 11:40:58 PM} sa.bInheritHandle = TRUE; -// COMMENT: {8/16/2013 11:40:58 PM} HANDLE fileHandle = ::CreateFile(szPathName, GENERIC_READ, 0, &sa, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); -// COMMENT: {8/16/2013 11:40:58 PM} -// COMMENT: {8/16/2013 11:40:58 PM} bool retValue; -// COMMENT: {8/16/2013 11:40:58 PM} if (fileHandle == INVALID_HANDLE_VALUE) -// COMMENT: {8/16/2013 11:40:58 PM} { -// COMMENT: {8/16/2013 11:40:58 PM} char buffer[100]; -// COMMENT: {8/16/2013 11:40:58 PM} sprintf(buffer, "Could not open file (error %d)\n", GetLastError()); -// COMMENT: {8/16/2013 11:40:58 PM} retValue = false; -// COMMENT: {8/16/2013 11:40:58 PM} } -// COMMENT: {8/16/2013 11:40:58 PM} else -// COMMENT: {8/16/2013 11:40:58 PM} { -// COMMENT: {8/16/2013 11:40:58 PM} retValue = true; -// COMMENT: {8/16/2013 11:40:58 PM} ::CloseHandle(fileHandle); -// COMMENT: {8/16/2013 11:40:58 PM} } -// COMMENT: {8/16/2013 11:40:58 PM} return retValue; -// COMMENT: {8/16/2013 11:40:58 PM}} -// COMMENT: {8/16/2013 11:40:58 PM}#else -// COMMENT: {8/16/2013 11:40:58 PM}bool FileExists(const char *szPathName) -// COMMENT: {8/16/2013 11:40:58 PM}{ -// COMMENT: {8/16/2013 11:40:58 PM} FILE* fp; -// COMMENT: {8/16/2013 11:40:58 PM} fp = fopen(szPathName, "r"); -// COMMENT: {8/16/2013 11:40:58 PM} if (fp == NULL) { -// COMMENT: {8/16/2013 11:40:58 PM} return false; -// COMMENT: {8/16/2013 11:40:58 PM} } else { -// COMMENT: {8/16/2013 11:40:58 PM} fclose(fp); -// COMMENT: {8/16/2013 11:40:58 PM} return true; -// COMMENT: {8/16/2013 11:40:58 PM} } -// COMMENT: {8/16/2013 11:40:58 PM}} -// COMMENT: {8/16/2013 11:40:58 PM}#endif - -// COMMENT: {8/16/2013 11:40:25 PM}#if defined(_WIN32) || defined(__CYGWIN32__) -// COMMENT: {8/16/2013 11:40:25 PM}// DeleteFile defined in -// COMMENT: {8/16/2013 11:40:25 PM}#else -// COMMENT: {8/16/2013 11:40:25 PM}int DeleteFile(const char* szPathName) -// COMMENT: {8/16/2013 11:40:25 PM}{ -// COMMENT: {8/16/2013 11:40:25 PM} if (remove(szPathName) == 0) -// COMMENT: {8/16/2013 11:40:25 PM} { -// COMMENT: {8/16/2013 11:40:25 PM} return 1; -// COMMENT: {8/16/2013 11:40:25 PM} } -// COMMENT: {8/16/2013 11:40:25 PM} return 0; // failure -// COMMENT: {8/16/2013 11:40:25 PM}} -// COMMENT: {8/16/2013 11:40:25 PM}#endif - -// COMMENT: {8/16/2013 11:42:03 PM}#if defined(_WIN32) || defined(__CYGWIN32__) -// COMMENT: {8/16/2013 11:42:03 PM}size_t FileSize(const char *szPathName) -// COMMENT: {8/16/2013 11:42:03 PM}{ -// COMMENT: {8/16/2013 11:42:03 PM} HANDLE hFile = ::CreateFile( -// COMMENT: {8/16/2013 11:42:03 PM} szPathName, // file to open -// COMMENT: {8/16/2013 11:42:03 PM} GENERIC_READ, // open for reading -// COMMENT: {8/16/2013 11:42:03 PM} FILE_SHARE_READ, // share for reading -// COMMENT: {8/16/2013 11:42:03 PM} NULL, // default security -// COMMENT: {8/16/2013 11:42:03 PM} OPEN_EXISTING, // existing file only -// COMMENT: {8/16/2013 11:42:03 PM} FILE_ATTRIBUTE_NORMAL, // normal file -// COMMENT: {8/16/2013 11:42:03 PM} NULL); // no attr. template -// COMMENT: {8/16/2013 11:42:03 PM} -// COMMENT: {8/16/2013 11:42:03 PM} if (hFile != INVALID_HANDLE_VALUE) -// COMMENT: {8/16/2013 11:42:03 PM} { -// COMMENT: {8/16/2013 11:42:03 PM} // read file size -// COMMENT: {8/16/2013 11:42:03 PM} LARGE_INTEGER liFileSize; -// COMMENT: {8/16/2013 11:42:03 PM} ::GetFileSizeEx(hFile, &liFileSize); -// COMMENT: {8/16/2013 11:42:03 PM} ::CloseHandle(hFile); -// COMMENT: {8/16/2013 11:42:03 PM} return (size_t) liFileSize.QuadPart; -// COMMENT: {8/16/2013 11:42:03 PM} } -// COMMENT: {8/16/2013 11:42:03 PM} return 0; -// COMMENT: {8/16/2013 11:42:03 PM}} -// COMMENT: {8/16/2013 11:42:03 PM}#else -// COMMENT: {8/16/2013 11:42:03 PM}#include -// COMMENT: {8/16/2013 11:42:03 PM}#include -// COMMENT: {8/16/2013 11:42:03 PM}#include -// COMMENT: {8/16/2013 11:42:03 PM} -// COMMENT: {8/16/2013 11:42:03 PM}size_t FileSize(const char *szPathName) -// COMMENT: {8/16/2013 11:42:03 PM}{ -// COMMENT: {8/16/2013 11:42:03 PM} struct stat s; -// COMMENT: {8/16/2013 11:42:03 PM} stat(szPathName, &s); -// COMMENT: {8/16/2013 11:42:03 PM} return (size_t) s.st_size; -// COMMENT: {8/16/2013 11:42:03 PM}} -// COMMENT: {8/16/2013 11:42:03 PM} \ No newline at end of file