summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu.c6
-rw-r--r--src/gpu.c6
-rw-r--r--src/host.c2
3 files changed, 10 insertions, 4 deletions
diff --git a/src/cpu.c b/src/cpu.c
index b9bb7de..9d2125d 100644
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -16,9 +16,9 @@ const char *display_cpu() {
"sed 's/(TM)//' | sed 's/CPU //' | sed 's/Processor//' && "
"echo \" (\" && sysctl -n hw.ncpu && echo \" core)\"");
#elif defined(__sun)
- return run_command_s("psrinfo -pv | tail -1 | sed 's/(r)//g' | "
- "sed 's/ CPU//' | sed 's/^ *//' && "
- "echo \" (\" && psrinfo -p && echo \" core)\"");
+ return run_command_s("psrinfo -pv | tail -1 | "
+ "sed 's/(r)//g; s/ CPU//; s/^ *//; s/ $//' | awk '{$1=$1};1' && "
+ "echo \" (\" && psrinfo -p && echo \" core)\"");
#elif defined(__linux__)
return run_command_s("cat /proc/cpuinfo | awk -F '\\\\s*: | @' "
"'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ { "
diff --git a/src/gpu.c b/src/gpu.c
index fa01547..3447ae9 100644
--- a/src/gpu.c
+++ b/src/gpu.c
@@ -49,6 +49,12 @@ const char *display_gpu() {
"grep -F \"device\" | sed 's/^.* device//' | "
"sed \"s/^.* '//\" | sed \"s/'//\" | tail -1 | "
"sed 's/ Core Processor Integrated Graphics Controller//'");
+#elif defined(__sun)
+ return run_command_s("prtconf -v | grep -A 30 \"value='display'\" | "
+ "grep -A 1 vendor-name | tail -1 | sed 's/^.*value=//' | sed \"s/'//g\" | "
+ "sed 's/ Corporation//' && echo \" \" && prtconf -v | "
+ "grep -A 30 \"value='display'\" | grep -A 1 device-name | tail -1 | "
+ "sed 's/^.*value=//' | sed \"s/'//g\"");
#elif defined(__linux__)
return run_command_s("lspci | grep VGA | sed 's/^.*: //' | "
"sed 's/Corporation //' | sed 's/ (.*$//' | "
diff --git a/src/host.c b/src/host.c
index 716a823..8d35c5b 100644
--- a/src/host.c
+++ b/src/host.c
@@ -95,7 +95,7 @@ void display_host_model() {
free((void *)cmd);
#elif defined(__sun)
const char *cmd = run_host_command("smbios | grep \"Product\" | "
- "sed 's/ Product: //' | head -1");
+ "sed 's/ Product: //' | awk '{$1=$1};1' | head -1");
if (!cmd) return;
printf("%s", cmd);
free((void *)cmd);