Revision: 75794
          http://sourceforge.net/p/brlcad/code/75794
Author:   starseeker
Date:     2020-05-14 05:30:29 +0000 (Thu, 14 May 2020)
Log Message:
-----------
Sean suggested using stringstream - make a quick stab it it

Modified Paths:
--------------
    brlcad/trunk/regress/repository/repocheck.cpp

Modified: brlcad/trunk/regress/repository/repocheck.cpp
===================================================================
--- brlcad/trunk/regress/repository/repocheck.cpp       2020-05-14 04:59:20 UTC 
(rev 75793)
+++ brlcad/trunk/regress/repository/repocheck.cpp       2020-05-14 05:30:29 UTC 
(rev 75794)
@@ -44,6 +44,7 @@
 #include <algorithm>
 #include <locale>
 #include <fstream>
+#include <sstream>
 #include <iomanip>
 #include <iostream>
 #include <regex>
@@ -318,7 +319,7 @@
 };
 
 int
-bio_redundant_check(repo_state_t &l, std::string &tfile, std::ifstream &fs)
+bio_redundant_check(repo_state_t &l, std::string &tfile, std::stringstream &fs)
 {
     bool have_bio = false;
     int lcnt = 0;
@@ -360,7 +361,7 @@
 }
 
 int
-bnetwork_redundant_check(repo_state_t &l, std::string &tfile, std::ifstream 
&fs)
+bnetwork_redundant_check(repo_state_t &l, std::string &tfile, 
std::stringstream &fs)
 {
     bool have_bnetwork = false;
     int lcnt = 0;
@@ -404,7 +405,7 @@
 
 
 int
-common_include_first(repo_state_t &l, std::string &tfile, std::ifstream &fs)
+common_include_first(repo_state_t &l, std::string &tfile, std::stringstream 
&fs)
 {
     int ret = 0;
 
@@ -443,7 +444,7 @@
 }
 
 int
-api_usage(repo_state_t &l, std::string &tfile, std::ifstream &fs)
+api_usage(repo_state_t &l, std::string &tfile, std::stringstream &fs)
 {
     int ret = 0;
 
@@ -515,7 +516,7 @@
 
 
 int
-platform_symbols(repo_state_t &l, std::vector<std::string> &log, std::string 
&tfile, std::ifstream &fs)
+platform_symbols(repo_state_t &l, std::vector<std::string> &log, std::string 
&tfile, std::stringstream &fs)
 {
     std::map<std::string, std::vector<platform_entry>> instances;
     bool skip = false;
@@ -577,16 +578,20 @@
     if (!fs.is_open()) {
        return;
     }
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.ret += bio_redundant_check(r_t, r_t.cfile, fs);
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.ret += bnetwork_redundant_check(r_t, r_t.cfile, fs);
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.inc_cnt += platform_symbols(r_t, r_t.symbol_inc_log, r_t.cfile, fs);
+
+    std::stringstream fss;
+    fss << fs.rdbuf();
     fs.close();
+
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.ret += bio_redundant_check(r_t, r_t.cfile, fss);
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.ret += bnetwork_redundant_check(r_t, r_t.cfile, fss);
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.inc_cnt += platform_symbols(r_t, r_t.symbol_inc_log, r_t.cfile, fss);
 }
 
 void
@@ -597,22 +602,26 @@
     if (!fs.is_open()) {
        return;
     }
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.ret += bio_redundant_check(r_t, r_t.cfile, fs);
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.ret += bnetwork_redundant_check(r_t, r_t.cfile, fs);
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.ret += common_include_first(r_t, r_t.cfile, fs);
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.ret += api_usage(r_t, r_t.cfile, fs);
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.src_cnt += platform_symbols(r_t, r_t.symbol_src_log, r_t.cfile, fs);
+
+    std::stringstream fss;
+    fss << fs.rdbuf();
     fs.close();
+
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.ret += bio_redundant_check(r_t, r_t.cfile, fss);
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.ret += bnetwork_redundant_check(r_t, r_t.cfile, fss);
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.ret += common_include_first(r_t, r_t.cfile, fss);
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.ret += api_usage(r_t, r_t.cfile, fss);
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.src_cnt += platform_symbols(r_t, r_t.symbol_src_log, r_t.cfile, fss);
 }
 
 void
@@ -623,10 +632,14 @@
     if (!fs.is_open()) {
        return;
     }
-    fs.clear();
-    fs.seekg(0, std::ios::beg);
-    r_t.bld_cnt += platform_symbols(r_t, r_t.symbol_bld_log, r_t.cfile, fs);
+
+    std::stringstream fss;
+    fss << fs.rdbuf();
     fs.close();
+
+    fss.clear();
+    fss.seekg(0, std::ios::beg);
+    r_t.bld_cnt += platform_symbols(r_t, r_t.symbol_bld_log, r_t.cfile, fss);
 }
 
 int

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to