From 2f1878a6f7375db47251c561130030a2b4e2544e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 8 Sep 2015 21:21:28 +0200 Subject: [PATCH] portable c-code for reading pingback/announcement message --- gtk2_ardour/ardour_ui.cc | 18 ++++++++---------- gtk2_ardour/pingback.cc | 9 +-------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index ce95aec7e6..71b1639d69 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -807,20 +807,18 @@ ARDOUR_UI::check_announcements () #endif _annc_filename.append (VERSIONSTRING); + _announce_string = ""; + std::string path = Glib::build_filename (user_config_directory(), _annc_filename); FILE* fin = g_fopen (path.c_str(), "rb"); - if (fin) { - std::ifstream announce_file (fin); - - if ( announce_file.fail() ) - _announce_string = ""; - else { - std::stringstream oss; - oss << announce_file.rdbuf(); - _announce_string = oss.str(); + while (!feof (fin)) { + char tmp[1024]; + if (fread (tmp, sizeof(char), 1024, fin) <= 0) { + break; + } + _announce_string += fin } - fclose (fin); } diff --git a/gtk2_ardour/pingback.cc b/gtk2_ardour/pingback.cc index 10c798e104..9df81650fa 100644 --- a/gtk2_ardour/pingback.cc +++ b/gtk2_ardour/pingback.cc @@ -226,14 +226,7 @@ _pingback (void *arg) FILE* fout = g_fopen (cm->announce_path.c_str(), "wb"); if (fout) { - { - std::ofstream annc_file (fout); - - if (annc_file) { - annc_file << return_str; - } - } - + fwrite (return_str.c_str(), sizeof(char), return_str.length (), fout); fclose (fout); } }