diff options
author | Robin Gareus <robin@gareus.org> | 2015-09-08 21:21:28 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-09-08 21:21:28 +0200 |
commit | 2f1878a6f7375db47251c561130030a2b4e2544e (patch) | |
tree | 2ecf35b5f3fa6c82591b688ea99085a04ab54de8 /gtk2_ardour | |
parent | dee324cc36787d84612fd636cfceb4d964792db6 (diff) |
portable c-code for reading pingback/announcement message
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 18 | ||||
-rw-r--r-- | 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); } } |