SCP: Add host system processor name to SHOW VERSION output
This commit is contained in:
parent
fda5e07906
commit
dd92be296c
1 changed files with 54 additions and 0 deletions
54
scp.c
54
scp.c
|
@ -6629,6 +6629,8 @@ if (flag) {
|
||||||
char osversion[PATH_MAX+1] = "";
|
char osversion[PATH_MAX+1] = "";
|
||||||
char tarversion[PATH_MAX+1] = "";
|
char tarversion[PATH_MAX+1] = "";
|
||||||
char curlversion[PATH_MAX+1] = "";
|
char curlversion[PATH_MAX+1] = "";
|
||||||
|
char wmicpath[PATH_MAX+1] = "";
|
||||||
|
char proc_name[CBUFSIZE] = "";
|
||||||
FILE *f;
|
FILE *f;
|
||||||
|
|
||||||
if ((f = _popen ("ver", "r"))) {
|
if ((f = _popen ("ver", "r"))) {
|
||||||
|
@ -6643,6 +6645,23 @@ if (flag) {
|
||||||
fprintf (st, "\n OS: %s", osversion);
|
fprintf (st, "\n OS: %s", osversion);
|
||||||
fprintf (st, "\n Architecture: %s%s%s, Processors: %s", arch, proc_arch3264 ? " on " : "", proc_arch3264 ? proc_arch3264 : "", procs);
|
fprintf (st, "\n Architecture: %s%s%s, Processors: %s", arch, proc_arch3264 ? " on " : "", proc_arch3264 ? proc_arch3264 : "", procs);
|
||||||
fprintf (st, "\n Processor Id: %s, Level: %s, Revision: %s", proc_id ? proc_id : "", proc_level ? proc_level : "", proc_rev ? proc_rev : "");
|
fprintf (st, "\n Processor Id: %s, Level: %s, Revision: %s", proc_id ? proc_id : "", proc_level ? proc_level : "", proc_rev ? proc_rev : "");
|
||||||
|
strlcpy (wmicpath, sim_get_tool_path ("wmic"), sizeof (wmicpath));
|
||||||
|
if (wmicpath[0]) {
|
||||||
|
strlcat (wmicpath, " cpu get name", sizeof (wmicpath));
|
||||||
|
if ((f = _popen (wmicpath, "r"))) {
|
||||||
|
memset (proc_name, 0, sizeof(proc_name));
|
||||||
|
do {
|
||||||
|
if (NULL == fgets (proc_name, sizeof(proc_name)-1, f))
|
||||||
|
break;
|
||||||
|
sim_trim_endspc (proc_name);
|
||||||
|
if (0 == strcmp (proc_name, "Name")) /* skip header line */
|
||||||
|
memset (proc_name, 0, sizeof (proc_name));
|
||||||
|
} while (proc_name[0] == '\0');
|
||||||
|
_pclose (f);
|
||||||
|
}
|
||||||
|
if (proc_name[0] != '\0')
|
||||||
|
fprintf (st, "\n Processor Name: %s", proc_name);
|
||||||
|
}
|
||||||
strlcpy (os_type, "Windows", sizeof (os_type));
|
strlcpy (os_type, "Windows", sizeof (os_type));
|
||||||
strlcpy (tarversion, _get_tool_version ("tar"), sizeof (tarversion));
|
strlcpy (tarversion, _get_tool_version ("tar"), sizeof (tarversion));
|
||||||
if (tarversion[0])
|
if (tarversion[0])
|
||||||
|
@ -6677,6 +6696,41 @@ if (flag) {
|
||||||
} while (os_type[0] == '\0');
|
} while (os_type[0] == '\0');
|
||||||
pclose (f);
|
pclose (f);
|
||||||
}
|
}
|
||||||
|
#if (defined(__linux) || defined(__linux__))
|
||||||
|
if ((f = popen ("lscpu 2>/dev/null | grep 'Model name:'", "r"))) {
|
||||||
|
char proc_name[PATH_MAX+1] = "";
|
||||||
|
|
||||||
|
memset (proc_name, 0, sizeof (proc_name));
|
||||||
|
do {
|
||||||
|
if (NULL == fgets (proc_name, sizeof (proc_name)-1, f))
|
||||||
|
break;
|
||||||
|
sim_trim_endspc (proc_name);
|
||||||
|
if (0 == memcmp ("Model name:", proc_name, 11)) {
|
||||||
|
size_t offset = 11 + strspn (proc_name + 11, " ");
|
||||||
|
memmove (proc_name, &proc_name[offset], 1 + strlen (&proc_name[offset]));
|
||||||
|
}
|
||||||
|
} while (proc_name[0] == '\0');
|
||||||
|
pclose (f);
|
||||||
|
if (proc_name[0] != '\0') {
|
||||||
|
|
||||||
|
fprintf (st, "\n Processor Name: %s", proc_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#elif defined (__APPLE__)
|
||||||
|
if ((f = popen ("sysctl -n machdep.cpu.brand_string 2>/dev/null", "r"))) {
|
||||||
|
char proc_name[PATH_MAX+1] = "";
|
||||||
|
|
||||||
|
memset (proc_name, 0, sizeof (proc_name));
|
||||||
|
do {
|
||||||
|
if (NULL == fgets (proc_name, sizeof (proc_name)-1, f))
|
||||||
|
break;
|
||||||
|
sim_trim_endspc (proc_name);
|
||||||
|
} while (proc_name[0] == '\0');
|
||||||
|
pclose (f);
|
||||||
|
if (proc_name[0] != '\0')
|
||||||
|
fprintf (st, "\n Processor Name: %s", proc_name);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
strlcpy (tarversion, _get_tool_version ("tar"), sizeof (tarversion));
|
strlcpy (tarversion, _get_tool_version ("tar"), sizeof (tarversion));
|
||||||
if (tarversion[0])
|
if (tarversion[0])
|
||||||
fprintf (st, "\n tar tool: %s", tarversion);
|
fprintf (st, "\n tar tool: %s", tarversion);
|
||||||
|
|
Loading…
Add table
Reference in a new issue