Portability
- Modfied diag.cpp to get a clean build on Ubuntu, and the latest gcc.
This commit is contained in:
39
src/diag.cpp
39
src/diag.cpp
@@ -203,38 +203,45 @@ void handleDiagnostics (std::string& outs)
|
|||||||
FILE* fp;
|
FILE* fp;
|
||||||
if ((fp = popen ("scp 2>&1", "r")))
|
if ((fp = popen ("scp 2>&1", "r")))
|
||||||
{
|
{
|
||||||
fgets (buffer, 1023, fp);
|
char* p = fgets (buffer, 1023, fp);
|
||||||
pclose (fp);
|
pclose (fp);
|
||||||
|
|
||||||
std::cout << " scp: "
|
if (p)
|
||||||
<< (regexMatch (buffer, "usage") ? "found" : "n/a")
|
std::cout << " scp: "
|
||||||
<< "\n";
|
<< (regexMatch (buffer, "usage") ? "found" : "n/a")
|
||||||
|
<< "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp = popen ("rsync --version 2>&1", "r")))
|
if ((fp = popen ("rsync --version 2>&1", "r")))
|
||||||
{
|
{
|
||||||
fgets (buffer, 1023, fp);
|
char* p = fgets (buffer, 1023, fp);
|
||||||
pclose (fp);
|
pclose (fp);
|
||||||
|
|
||||||
// rsync version 2.6.9 protocol version 29
|
// rsync version 2.6.9 protocol version 29
|
||||||
matches.clear ();
|
if (p)
|
||||||
regexMatch (matches, buffer, "version ([0-9]+\\.[0-9]+\\.[0-9]+)");
|
{
|
||||||
std::cout << " rsync: "
|
matches.clear ();
|
||||||
<< (matches.size () ? matches[0] : "n/a")
|
regexMatch (matches, buffer, "version ([0-9]+\\.[0-9]+\\.[0-9]+)");
|
||||||
<< "\n";
|
std::cout << " rsync: "
|
||||||
|
<< (matches.size () ? matches[0] : "n/a")
|
||||||
|
<< "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp = popen ("curl --version 2>&1", "r")))
|
if ((fp = popen ("curl --version 2>&1", "r")))
|
||||||
{
|
{
|
||||||
fgets (buffer, 1023, fp);
|
char* p = fgets (buffer, 1023, fp);
|
||||||
pclose (fp);
|
pclose (fp);
|
||||||
|
|
||||||
// curl 7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
|
// curl 7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
|
||||||
matches.clear ();
|
if (p)
|
||||||
regexMatch (matches, buffer, "curl ([0-9]+\\.[0-9]+\\.[0-9]+)");
|
{
|
||||||
std::cout << " curl: "
|
matches.clear ();
|
||||||
<< (matches.size () ? matches[0] : "n/a")
|
regexMatch (matches, buffer, "curl ([0-9]+\\.[0-9]+\\.[0-9]+)");
|
||||||
<< "\n";
|
std::cout << " curl: "
|
||||||
|
<< (matches.size () ? matches[0] : "n/a")
|
||||||
|
<< "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << "\n";
|
std::cout << "\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user