diff --git a/readLib/corsika_data/Interface.h b/readLib/corsika_data/Interface.h index 717e923d3fd163f778670b4fd69d65fbc840c802..0e902fd4bd2ddd4a6621374b642fb531d01b6f9c 100644 --- a/readLib/corsika_data/Interface.h +++ b/readLib/corsika_data/Interface.h @@ -26,11 +26,11 @@ namespace corsika_data { // the fortran interface functions extern "C" { - void cordataopenfile_(const char* name); - void cordatafillarray_(double* data, const int& length); - void cordataclosefile_(); - double cordatanextnumber_(); - void cordatanexttext_(char* data, int maxlength); - int cordatacandecompress_(); + void cordataopenfile_(const char*); + void cordatafillarray_(double*, const int&); + void cordataclosefile_(); + double cordatanextnumber_(); + void cordatanexttext_(char*, int); + void cordatacandecompress_(int&); } } // namespace corsika_data diff --git a/readLib/source/Interface.boost.cc b/readLib/source/Interface.boost.cc index acf344215dcb4918a182d534d20498b36ee6e3b7..f1195ffc92a6e46ef9adab5d8156a310036abe31 100644 --- a/readLib/source/Interface.boost.cc +++ b/readLib/source/Interface.boost.cc @@ -72,17 +72,17 @@ namespace corsika_data { for (int i = 0; i < maxlength && i < (int)STR.size(); ++i) data[i] = STR[i]; } bool CorDataCanDeCompress() { return true; } - + extern "C" { - void cordataopenfile_(const char* name) { CorDataOpenFile(name); } - void cordatafillarray_(double* data, const int& length) { - global_DataFile.FillArray(data, length); - } - double cordatanextnumber_() { return global_DataFile.ReadNextNumber(); } - void cordatanexttext_(char* data, const int maxlength) { - return CorDataNextText(data, maxlength); - } - void cordataclosefile_() { global_DataFile.Close(); } - int cordatacandecompress_() { return 1; } + void cordataopenfile_(const char* name) { CorDataOpenFile(name); } + void cordatafillarray_(double* data, const int& length) { + global_DataFile.FillArray(data, length); + } + double cordatanextnumber_() { return global_DataFile.ReadNextNumber(); } + void cordatanexttext_(char* data, const int maxlength) { + return CorDataNextText(data, maxlength); + } + void cordataclosefile_() { global_DataFile.Close(); } + void cordatacandecompress_(int& v) { v=1; } } } // namespace corsika_data diff --git a/readLib/source/Interface.dummy.cc b/readLib/source/Interface.dummy.cc index 56962373c48b211dbd076338d2812e7782b44681..527a0e146c90283556b99800753e6958fe336c6e 100644 --- a/readLib/source/Interface.dummy.cc +++ b/readLib/source/Interface.dummy.cc @@ -36,15 +36,15 @@ namespace corsika_data { // the fortran interface functions extern "C" { - void cordataopenfile_(const char* name) { CorDataOpenFile(name); } - void cordatafillarray_(double* data, const int& length) { - CorDataFillArray(data, length); - } - void cordataclosefile_() { CorDataCloseFile(); } - double cordatanextnumber_() { return CorDataNextNumber(); } - void cordatanexttext_(char*, int) { - throw std::runtime_error("cordatanexttext_: Cannot read compressed data files with dummy library."); - } - int cordatacandecompress_() { return 0; } + void cordataopenfile_(const char* name) { CorDataOpenFile(name); } + void cordatafillarray_(double* data, const int& length) { + CorDataFillArray(data, length); + } + void cordataclosefile_() { CorDataCloseFile(); } + double cordatanextnumber_() { return CorDataNextNumber(); } + void cordatanexttext_(char*, int) { + throw std::runtime_error("cordatanexttext_: Cannot read compressed data files with dummy library."); + } + void cordatacandecompress_(int& v) { v=0; } } } // namespace corsika_data diff --git a/readLib/source/testData.cc b/readLib/source/testData.cc index bab6a16a8c0a311bde85e393a13b2de10c2d8005..95af686b854080b699521b8094c8ae8d778e3f82 100644 --- a/readLib/source/testData.cc +++ b/readLib/source/testData.cc @@ -60,8 +60,9 @@ TEST_CASE("Data", "[data]") { } SECTION(std::string("fortran, ") + file) { - bool b = cordatacandecompress_(); - CHECK(b == true); + int i=0; + cordatacandecompress_(i); + CHECK(i == 1); cout << "Reading: " << file << endl; cordataopenfile_(file.c_str()); char str[10]; @@ -107,7 +108,9 @@ TEST_CASE("Data", "[data]") { CHECK_THROWS(d = cordatanextnumber_()); char* buf = 0; CHECK_THROWS(cordatanexttext_(buf, 0)); - CHECK(cordatacandecompress_() == 0); + int i= 0; + cordatacandecompress_(i); + CHECK( i == 0); } #endif