From 8fb54a71ff194a0e09d0b9feed47fc5cfe5685ed Mon Sep 17 00:00:00 2001 From: marschap Date: Sun, 15 Oct 2006 20:48:13 +0000 Subject: [PATCH] small refactoring of lcdproc client: get rid of global variables tmp & buffer --- ChangeLog | 1 + clients/lcdproc/batt.c | 76 ++++++++++------------- clients/lcdproc/batt.h | 2 +- clients/lcdproc/chrono.c | 25 ++++---- clients/lcdproc/chrono.h | 10 ++-- clients/lcdproc/cpu.c | 85 ++++++++++---------------- clients/lcdproc/cpu.h | 4 +- clients/lcdproc/cpu_smp.h | 2 +- clients/lcdproc/disk.c | 74 ++++++++++------------- clients/lcdproc/disk.h | 2 +- clients/lcdproc/eyebox.c | 20 +++---- clients/lcdproc/eyebox.h | 2 +- clients/lcdproc/iface.h | 14 ++--- clients/lcdproc/load.c | 46 ++++++-------- clients/lcdproc/load.h | 2 +- clients/lcdproc/main.c | 47 +++++++-------- clients/lcdproc/mem.c | 123 ++++++++++++++++---------------------- clients/lcdproc/mem.h | 4 +- clients/lcdproc/mode.c | 28 +-------- clients/lcdproc/mode.h | 12 ++-- 20 files changed, 240 insertions(+), 339 deletions(-) diff --git a/ChangeLog b/ChangeLog index 40267e7..f11db8f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,7 @@ Key: v.0.5dev (ongoing development) * fix switching on/off the Load screen in lcdproc client using the menu * refactor adv_bignum: support height > 4, loadable chars with offset + * ged rid of global variables buffer & tmp in lcdproc client v.0.5.1 + config file support in lcdproc client (Andrew Foss) diff --git a/clients/lcdproc/batt.c b/clients/lcdproc/batt.c index a532a4b..f04e077 100644 --- a/clients/lcdproc/batt.c +++ b/clients/lcdproc/batt.c @@ -71,7 +71,7 @@ battery_status(int status) // +--------------------+ // int -battery_screen (int rep, int display, int *flags_ptr) +battery_screen(int rep, int display, int *flags_ptr) { int acstat = 0, battstat = 0, percent = 0; int gauge_wid = lcd_wid - 2; @@ -79,23 +79,20 @@ battery_screen (int rep, int display, int *flags_ptr) if ((*flags_ptr & INITIALIZED) == 0) { *flags_ptr |= INITIALIZED; - sock_send_string (sock, "screen_add B\n"); - sprintf (buffer, "screen_set B -name {APM stats: %s}\n", get_hostname()); - sock_send_string (sock, buffer); - sock_send_string (sock, "widget_add B title title\n"); - sprintf (buffer, "widget_set B title {LCDPROC %s}\n", version); - sock_send_string (sock, buffer); - sock_send_string (sock, "widget_add B one string\n"); + sock_send_string(sock, "screen_add B\n"); + sock_printf(sock, "screen_set B -name {APM stats: %s}\n", get_hostname()); + sock_send_string(sock, "widget_add B title title\n"); + sock_printf(sock, "widget_set B title {LCDPROC %s}\n", version); + sock_send_string(sock, "widget_add B one string\n"); if (lcd_hgt >= 4) { - sock_send_string (sock, "widget_add B two string\n"); - sock_send_string (sock, "widget_add B three string\n"); - sock_send_string (sock, "widget_add B gauge hbar\n"); + sock_send_string(sock, "widget_add B two string\n"); + sock_send_string(sock, "widget_add B three string\n"); + sock_send_string(sock, "widget_add B gauge hbar\n"); - sock_send_string (sock, "widget_set B one 1 2 {AC: Unknown}\n"); - sock_send_string (sock, "widget_set B two 1 3 {Batt: Unknown}\n"); - sprintf(buffer, "widget_set B three 1 4 {E%*sF}\n", gauge_wid, ""); - sock_send_string (sock, buffer); - sock_send_string (sock, "widget_set B gauge 2 4 0\n"); + sock_send_string(sock, "widget_set B one 1 2 {AC: Unknown}\n"); + sock_send_string(sock, "widget_set B two 1 3 {Batt: Unknown}\n"); + sock_printf(sock, "widget_set B three 1 4 {E%*sF}\n", gauge_wid, ""); + sock_send_string(sock, "widget_set B gauge 2 4 0\n"); } } // Only run once every 16 frames... @@ -103,36 +100,29 @@ battery_screen (int rep, int display, int *flags_ptr) machine_get_battstat(&acstat, &battstat, &percent); - if (percent >= 0) - sprintf(tmp, "%d%%", percent); - else - sprintf(tmp, "??%%"); - sprintf(buffer, "widget_set B title {%s: %s: %s}\n", - (acstat == LCDP_AC_ON && battstat == LCDP_BATT_ABSENT) ? "AC" : "Batt", - tmp, get_hostname()); - if (display) - sock_send_string (sock, buffer); + if (display) { + char tmp[20]; - if (lcd_hgt >= 4) { // 4-line version of the screen - sprintf(buffer, "widget_set B one 1 2 {AC: %s}\n", ac_status(acstat)); - if (display) - sock_send_string (sock, buffer); + if (percent >= 0) + sprintf(tmp, "%d%%", percent); + else + sprintf(tmp, "??%%"); + sock_printf(sock, "widget_set B title {%s: %s: %s}\n", + (acstat == LCDP_AC_ON && battstat == LCDP_BATT_ABSENT) ? "AC" : "Batt", + tmp, get_hostname()); - sprintf(buffer, "widget_set B two 1 3 {Batt: %s}\n", battery_status(battstat)); - if (display) - sock_send_string(sock, buffer); - - if (percent > 0) { - sprintf(buffer, "widget_set B gauge 2 4 %d\n", (percent * gauge_wid * lcd_cellwid) / 100); - if (display) - sock_send_string(sock, buffer); + if (lcd_hgt >= 4) { // 4-line version of the screen + sock_printf(sock, "widget_set B one 1 2 {AC: %s}\n", ac_status(acstat)); + sock_printf(sock, "widget_set B two 1 3 {Batt: %s}\n", battery_status(battstat)); + if (percent > 0) + sock_printf(sock, "widget_set B gauge 2 4 %d\n", + (percent * gauge_wid * lcd_cellwid) / 100); + } + else { // two-line version of the screen + sock_printf(sock, "widget_set B one 1 2 {%sBatt: %s}\n", + (acstat == LCDP_AC_ON) ? "AC, " : "", + battery_status(battstat)); } - } - else { // two-line version of the screen - sprintf(buffer, "widget_set B one 1 2 {%sBatt: %s}\n", - (acstat == LCDP_AC_ON) ? "AC, " : "", battery_status(battstat)); - if (display) - sock_send_string(sock, buffer); } return 0; diff --git a/clients/lcdproc/batt.h b/clients/lcdproc/batt.h index a664f4e..baec58b 100644 --- a/clients/lcdproc/batt.h +++ b/clients/lcdproc/batt.h @@ -1,6 +1,6 @@ #ifndef BATT_H #define BATT_H -int battery_screen (int rep, int display, int *flags_ptr); +int battery_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/chrono.c b/clients/lcdproc/chrono.c index 9dad194..6ebb5b9 100644 --- a/clients/lcdproc/chrono.c +++ b/clients/lcdproc/chrono.c @@ -48,7 +48,7 @@ static char *tickTime(char *time, int heartbeat); //+--------------------+ // int -time_screen (int rep, int display, int *flags_ptr) +time_screen(int rep, int display, int *flags_ptr) { char now[40]; char today[40]; @@ -99,6 +99,7 @@ time_screen (int rep, int display, int *flags_ptr) if (lcd_hgt >= 4) { machine_get_uptime(&uptime, &idle); + char tmp[40]; // should be large enough // display the uptime... days = (int) uptime / 86400; @@ -148,7 +149,7 @@ time_screen (int rep, int display, int *flags_ptr) //+--------------------+ // int -clock_screen (int rep, int display, int *flags_ptr) +clock_screen(int rep, int display, int *flags_ptr) { char now[40]; char today[40]; @@ -160,6 +161,8 @@ clock_screen (int rep, int display, int *flags_ptr) struct tm *rtime; if ((*flags_ptr & INITIALIZED) == 0) { + char tmp[257]; // should be large enough for host name + *flags_ptr |= INITIALIZED; /* get config values */ @@ -176,7 +179,7 @@ clock_screen (int rep, int display, int *flags_ptr) sock_printf(sock, "widget_set O title {DATE & TIME}\n"); - sprintf (tmp, "%s", get_hostname()); + sprintf(tmp, "%s", get_hostname()); xoffs = (lcd_wid > strlen(tmp)) ? (((lcd_wid - strlen(tmp)) / 2) + 1) : 1; sock_printf(sock, "widget_set O one %i 2 {%s}\n", xoffs, tmp); } else { @@ -187,15 +190,14 @@ clock_screen (int rep, int display, int *flags_ptr) // toggle colon display heartbeat ^= 1; - time (&thetime); - rtime = localtime (&thetime); + time(&thetime); + rtime = localtime(&thetime); if (strftime(today, sizeof(today), dateFormat, rtime) == 0) *today = '\0'; if (strftime(now, sizeof(now), timeFormat, rtime) == 0) *now = '\0'; tickTime(now, heartbeat); -fprintf(stderr, "now: %s\ttoday: %s\n", now, today); if (lcd_hgt >= 4) { // 4-line version of the screen xoffs = (lcd_wid > strlen(today)) ? ((lcd_wid - strlen(today)) / 2) + 1 : 1; @@ -227,12 +229,13 @@ fprintf(stderr, "now: %s\ttoday: %s\n", now, today); //+--------------------+ // int -uptime_screen (int rep, int display, int *flags_ptr) +uptime_screen(int rep, int display, int *flags_ptr) { int xoffs; int days, hour, min, sec; double uptime, idle; static int heartbeat = 0; + char tmp[257]; // should be large enough for host name if ((*flags_ptr & INITIALIZED) == 0) { *flags_ptr |= INITIALIZED; @@ -298,7 +301,7 @@ uptime_screen (int rep, int display, int *flags_ptr) // +--------------------+ // int -big_clock_screen (int rep, int display, int *flags_ptr) +big_clock_screen(int rep, int display, int *flags_ptr) { time_t thetime; struct tm *rtime; @@ -374,7 +377,7 @@ big_clock_screen (int rep, int display, int *flags_ptr) //+--------------------+ // int -mini_clock_screen (int rep, int display, int *flags_ptr) +mini_clock_screen(int rep, int display, int *flags_ptr) { char now[40]; time_t thetime; @@ -397,8 +400,8 @@ mini_clock_screen (int rep, int display, int *flags_ptr) sock_send_string(sock, "widget_add N one string\n"); } - time (&thetime); - rtime = localtime (&thetime); + time(&thetime); + rtime = localtime(&thetime); if (strftime(now, sizeof(now), timeFormat, rtime) == 0) *now = '\0'; diff --git a/clients/lcdproc/chrono.h b/clients/lcdproc/chrono.h index 8f70503..2732c17 100644 --- a/clients/lcdproc/chrono.h +++ b/clients/lcdproc/chrono.h @@ -1,10 +1,10 @@ #ifndef CHRONO_H #define CHRONO_H -int clock_screen (int rep, int display, int *flags_ptr); -int uptime_screen (int rep, int display, int *flags_ptr); -int time_screen (int rep, int display, int *flags_ptr); -int big_clock_screen (int rep, int display, int *flags_ptr); -int mini_clock_screen (int rep, int display, int *flags_ptr); +int clock_screen(int rep, int display, int *flags_ptr); +int uptime_screen(int rep, int display, int *flags_ptr); +int time_screen(int rep, int display, int *flags_ptr); +int big_clock_screen(int rep, int display, int *flags_ptr); +int mini_clock_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/cpu.c b/clients/lcdproc/cpu.c index 0bf34e8..0f69b71 100644 --- a/clients/lcdproc/cpu.c +++ b/clients/lcdproc/cpu.c @@ -40,13 +40,13 @@ cpu_screen(int rep, int display, int *flags_ptr) int i, j, n; double value; load_type load; + char tmp[25]; // should be large enough if ((*flags_ptr & INITIALIZED) == 0) { *flags_ptr |= INITIALIZED; sock_send_string(sock, "screen_add C\n"); - sprintf(buffer, "screen_set C -name {CPU Use: %s}\n", get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "screen_set C -name {CPU Use: %s}\n", get_hostname()); if (lcd_hgt >= 4) { gauge_wid = lcd_wid - 6; // room between 0%...100% @@ -55,14 +55,11 @@ cpu_screen(int rep, int display, int *flags_ptr) sock_send_string(sock, "widget_add C one string\n"); sock_send_string(sock, "widget_add C two string\n"); sock_send_string(sock, "widget_add C three string\n"); - sprintf(buffer, "widget_set C one 1 2 {%-*s%-*s}\n", - lcd_wid / 2, "Usr", lcd_wid / 2, "Nice"); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_set C two 1 3 {%-*s%-*s}\n", - lcd_wid / 2, "Sys", lcd_wid / 2, "Idle"); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_set C three 1 4 {0%%%*s100%%}\n", gauge_wid, ""); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C one 1 2 {%-*s%-*s}\n", + lcd_wid / 2, "Usr", lcd_wid / 2, "Nice"); + sock_printf(sock, "widget_set C two 1 3 {%-*s%-*s}\n", + lcd_wid / 2, "Sys", lcd_wid / 2, "Idle"); + sock_printf(sock, "widget_set C three 1 4 {0%%%*s100%%}\n", gauge_wid, ""); sock_send_string(sock, "widget_add C usr string\n"); sock_send_string(sock, "widget_add C nice string\n"); sock_send_string(sock, "widget_add C idle string\n"); @@ -75,15 +72,12 @@ cpu_screen(int rep, int display, int *flags_ptr) gauge_wid = lcd_wid - 12; // room between [...] sock_send_string(sock, "widget_add C cpu string\n"); - sprintf(buffer, "widget_set C cpu 1 1 {CPU [%*s]}\n", gauge_wid, ""); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C cpu 1 1 {CPU [%*s]}\n", gauge_wid, ""); sock_send_string(sock, "widget_add C cpu% string\n"); - sprintf(buffer, "widget_set C cpu%% 1 %d { 0.0%%}\n", lcd_wid - 5); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C cpu%% 1 %d { 0.0%%}\n", lcd_wid - 5); sock_send_string(sock, "widget_add C usni string\n"); - sprintf(buffer, "widget_set C usni 1 2 {U%*sS%*sN%*sI%*s}\n", - usni_wid, "", usni_wid, "", usni_wid, "", usni_wid, ""); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C usni 1 2 {U%*sS%*sN%*sI%*s}\n", + usni_wid, "", usni_wid, "", usni_wid, "", usni_wid, ""); sock_send_string(sock, "widget_add C usr hbar\n"); sock_send_string(sock, "widget_add C sys hbar\n"); sock_send_string(sock, "widget_add C nice hbar\n"); @@ -142,53 +136,41 @@ cpu_screen(int rep, int display, int *flags_ptr) if (lcd_hgt >= 4) { // 4-line display sprintf_percent(tmp, cpu[CPU_BUF_SIZE][4]); - sprintf(buffer, "widget_set C title {CPU %5s: %s}\n", tmp, get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C title {CPU %5s: %s}\n", tmp, get_hostname()); sprintf_percent(tmp, cpu[CPU_BUF_SIZE][0]); - sprintf(buffer, "widget_set C usr %i 2 {%5s}\n", (lcd_wid / 2) - 5, tmp); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C usr %i 2 {%5s}\n", (lcd_wid / 2) - 5, tmp); sprintf_percent(tmp, cpu[CPU_BUF_SIZE][1]); - sprintf(buffer, "widget_set C sys %i 3 {%5s}\n", (lcd_wid / 2) - 5, tmp); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C sys %i 3 {%5s}\n", (lcd_wid / 2) - 5, tmp); sprintf_percent(tmp, cpu[CPU_BUF_SIZE][2]); - sprintf(buffer, "widget_set C nice %i 2 {%5s}\n", lcd_wid - 4, tmp); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C nice %i 2 {%5s}\n", lcd_wid - 4, tmp); sprintf_percent(tmp, cpu[CPU_BUF_SIZE][3]); - sprintf(buffer, "widget_set C idle %i 3 {%5s}\n", lcd_wid - 4, tmp); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C idle %i 3 {%5s}\n", lcd_wid - 4, tmp); n = (int) ((cpu[CPU_BUF_SIZE][4] * lcd_cellwid * gauge_wid) / 100.0); - sprintf(buffer, "widget_set C bar 3 4 %d\n", n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C bar 3 4 %d\n", n); } else { // 2-line display sprintf_percent(tmp, cpu[CPU_BUF_SIZE][4]); - sprintf(buffer, "widget_set C cpu%% %d 1 {%5s}\n", lcd_wid - 5, tmp); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C cpu%% %d 1 {%5s}\n", lcd_wid - 5, tmp); n = (int) ((cpu[CPU_BUF_SIZE][4] * lcd_cellwid * gauge_wid) / 100.0); - sprintf(buffer, "widget_set C total 6 1 %d\n", n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C total 6 1 %d\n", n); n = (int) ((cpu[CPU_BUF_SIZE][0] * lcd_cellwid * usni_wid) / 100.0); - sprintf(buffer, "widget_set C usr %d 2 %d\n", 0 * (usni_wid + 1) + 2, n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C usr %d 2 %d\n", 0 * (usni_wid + 1) + 2, n); n = (int) ((cpu[CPU_BUF_SIZE][1] * lcd_cellwid * usni_wid) / 100.0); - sprintf(buffer, "widget_set C sys %d 2 %d\n", 1 * (usni_wid + 1) + 2, n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C sys %d 2 %d\n", 1 * (usni_wid + 1) + 2, n); n = (int) ((cpu[CPU_BUF_SIZE][2] * lcd_cellwid * usni_wid) / 100.0); - sprintf(buffer, "widget_set C nice %d 2 %d\n", 2 * (usni_wid + 1) + 2, n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C nice %d 2 %d\n", 2 * (usni_wid + 1) + 2, n); n = (int) ((cpu[CPU_BUF_SIZE][3] * lcd_cellwid * usni_wid) / 100.0); - sprintf(buffer, "widget_set C idle %d 2 %d\n", 3 * (usni_wid + 1) + 2, n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set C idle %d 2 %d\n", 3 * (usni_wid + 1) + 2, n); } return(0); @@ -225,23 +207,20 @@ cpu_graph_screen(int rep, int display, int *flags_ptr) gauge_hgt = (lcd_hgt > 2) ? (lcd_hgt - 1) : lcd_hgt; sock_send_string(sock, "screen_add G\n"); - sprintf(buffer, "screen_set G -name {CPU Graph: %s}\n", get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "screen_set G -name {CPU Graph: %s}\n", get_hostname()); + if (lcd_hgt >= 4) { sock_send_string(sock, "widget_add G title title\n"); - sprintf(buffer, "widget_set G title {CPU: %s}\n", get_hostname()); + sock_printf(sock, "widget_set G title {CPU: %s}\n", get_hostname()); } else { sock_send_string(sock, "widget_add G title string\n"); - sprintf(buffer, "widget_set G title 1 1 {CPU: %s}\n", get_hostname()); + sock_printf(sock, "widget_set G title 1 1 {CPU: %s}\n", get_hostname()); } - sock_send_string(sock, buffer); for (i = 1; i <= lcd_wid; i++) { - sprintf(buffer, "widget_add G bar%d vbar\n", i); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_set G bar%d %d %d 0\n", i, i, lcd_hgt); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_add G bar%d vbar\n", i); + sock_printf(sock, "widget_set G bar%d %d %d 0\n", i, i, lcd_hgt); cpu_past[i-1] = 0; }; @@ -274,17 +253,15 @@ cpu_graph_screen(int rep, int display, int *flags_ptr) cpu_past[i] = cpu_past[i + 1]; if (display) { - sprintf(buffer, "widget_set G bar%d %d %d %d\n", + sock_printf(sock, "widget_set G bar%d %d %d %d\n", i + 1, i + 1, lcd_hgt, cpu_past[i]); - sock_send_string(sock, buffer); } } // Save the newest entry and display it cpu_past[lcd_wid - 1] = n; if (display) { - sprintf(buffer, "widget_set G bar%d %d %d %d\n", lcd_wid, lcd_wid, lcd_hgt, n); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set G bar%d %d %d %d\n", lcd_wid, lcd_wid, lcd_hgt, n); } return(0); diff --git a/clients/lcdproc/cpu.h b/clients/lcdproc/cpu.h index 5b82062..961c5dd 100644 --- a/clients/lcdproc/cpu.h +++ b/clients/lcdproc/cpu.h @@ -1,7 +1,7 @@ #ifndef CPU_H #define CPU_H -int cpu_screen (int rep, int display, int *flags_ptr); -int cpu_graph_screen (int rep, int display, int *flags_ptr); +int cpu_screen(int rep, int display, int *flags_ptr); +int cpu_graph_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/cpu_smp.h b/clients/lcdproc/cpu_smp.h index cbe1065..2a66c77 100644 --- a/clients/lcdproc/cpu_smp.h +++ b/clients/lcdproc/cpu_smp.h @@ -1,6 +1,6 @@ #ifndef CPU_SMP_H #define CPU_SMP_H -int cpu_smp_screen (int rep, int display, int *flags_ptr); +int cpu_smp_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/disk.c b/clients/lcdproc/disk.c index 749a4c6..1573591 100644 --- a/clients/lcdproc/disk.c +++ b/clients/lcdproc/disk.c @@ -32,7 +32,7 @@ // // TODO: Disk screen! Requires virtual pages in the server, though... int -disk_screen (int rep, int display, int *flags_ptr) +disk_screen(int rep, int display, int *flags_ptr) { static mounts_type mnt[256]; static int count = 0; @@ -57,19 +57,16 @@ disk_screen (int rep, int display, int *flags_ptr) dev_wid = (lcd_wid >= 20) ? (lcd_wid - 8) / 2 : (lcd_wid / 2) - 1; gauge_wid = (lcd_wid >= 20) ? (lcd_wid - dev_wid - 10) : (lcd_wid - dev_wid - 3); - sock_send_string (sock, "screen_add D\n"); - sprintf (buffer, "screen_set D -name {Disk Use: %s}\n", get_hostname()); - sock_send_string (sock, buffer); - sock_send_string (sock, "widget_add D title title\n"); - sprintf (buffer, "widget_set D title {DISKS: %s}\n", get_hostname()); - sock_send_string (sock, buffer); - sock_send_string (sock, "widget_add D f frame\n"); - sprintf (buffer, "widget_set D f 1 2 %i %i %i %i v 12\n", lcd_wid, lcd_hgt, lcd_wid, lcd_hgt - 1); - sock_send_string (sock, buffer); - sock_send_string (sock, "widget_add D err1 string\n"); - sock_send_string (sock, "widget_add D err2 string\n"); - sock_send_string (sock, "widget_set D err1 5 2 { Reading }\n"); - sock_send_string (sock, "widget_set D err2 5 3 {Filesystems}\n"); + sock_send_string(sock, "screen_add D\n"); + sock_printf(sock, "screen_set D -name {Disk Use: %s}\n", get_hostname()); + sock_send_string(sock, "widget_add D title title\n"); + sock_printf(sock, "widget_set D title {DISKS: %s}\n", get_hostname()); + sock_send_string(sock, "widget_add D f frame\n"); + sock_printf(sock, "widget_set D f 1 2 %i %i %i %i v 12\n", lcd_wid, lcd_hgt, lcd_wid, lcd_hgt - 1); + sock_send_string(sock, "widget_add D err1 string\n"); + sock_send_string(sock, "widget_add D err2 string\n"); + sock_send_string(sock, "widget_set D err1 5 2 { Reading }\n"); + sock_send_string(sock, "widget_set D err2 5 3 {Filesystems}\n"); } // Grab disk stats on first display, and fill "table". // Get rid of old, unmounted filesystems... @@ -78,68 +75,59 @@ disk_screen (int rep, int display, int *flags_ptr) // Fill the display structure... if (count) { - sock_send_string (sock, "widget_set D err1 30 5 .\n"); - sock_send_string (sock, "widget_set D err2 30 5 .\n"); + sock_send_string(sock, "widget_set D err1 30 5 .\n"); + sock_send_string(sock, "widget_set D err2 30 5 .\n"); for (i = 0; i < count; i++) { if (strlen(mnt[i].mpoint) > dev_wid) - sprintf (table[i].dev, "-%s", (mnt[i].mpoint) + (strlen(mnt[i].mpoint) - (dev_wid - 1))); + sprintf(table[i].dev, "-%s", (mnt[i].mpoint) + (strlen(mnt[i].mpoint) - (dev_wid - 1))); else - sprintf (table[i].dev, "%s", mnt[i].mpoint); + sprintf(table[i].dev, "%s", mnt[i].mpoint); table[i].full = (huge) (lcd_cellwid * gauge_wid) * (huge) (mnt[i].blocks - mnt[i].bfree) / (huge) mnt[i].blocks; size = (huge) mnt[i].bsize * (huge) mnt[i].blocks; - memset (table[i].cap, '\0', 8); + memset(table[i].cap, '\0', 8); sprintf_memory(table[i].cap, (double) size, 1); } } else { - sock_send_string (sock, "widget_set D err1 1 2 {Error Retrieving}\n"); - sock_send_string (sock, "widget_set D err2 1 3 {Filesystem Stats}\n"); + sock_send_string(sock, "widget_set D err1 1 2 {Error Retrieving}\n"); + sock_send_string(sock, "widget_set D err2 1 3 {Filesystem Stats}\n"); return 0; } // Display stuff... (show for two seconds, then scroll once per // second, then hold at the end for two seconds) - sprintf (buffer, "widget_set D f 1 2 %i %i %i %i v 12\n", lcd_wid, lcd_hgt, lcd_wid, count); - sock_send_string (sock, buffer); - //sprintf(tmp, "widget_set D f 1 2 20 4 20 %i v 8\n", count); - //sock_send_string(sock, tmp); + sock_printf(sock, "widget_set D f 1 2 %i %i %i %i v 12\n", lcd_wid, lcd_hgt, lcd_wid, count); for (i = 0; i < count; i++) { + char tmp[lcd_wid+1]; // should be large enough + if (table[i].dev[0] == '\0') continue; if (i >= num_disks) { // Make sure we have enough lines... - sprintf (tmp, "widget_add D s%i string -in f\n", i); - sock_send_string (sock, tmp); - sprintf (tmp, "widget_add D h%i hbar -in f\n", i); - sock_send_string (sock, tmp); + sock_printf(sock, "widget_add D s%i string -in f\n", i); + sock_printf(sock, "widget_add D h%i hbar -in f\n", i); } if (lcd_wid >= 20) { // 20+x columns - sprintf (tmp, "%-*s %6s E%*sF", dev_wid, table[i].dev, table[i].cap, gauge_wid, ""); - sprintf (buffer, "widget_set D s%i 1 %i {%s}\n", i, i + 1, tmp); - sock_send_string (sock, buffer); - sprintf (buffer, "widget_set D h%i %i %i %i\n", i, 10 + dev_wid, i + 1, table[i].full); - sock_send_string (sock, buffer); + sprintf(tmp, "%-*s %6s E%*sF", dev_wid, table[i].dev, table[i].cap, gauge_wid, ""); + sock_printf(sock, "widget_set D s%i 1 %i {%s}\n", i, i + 1, tmp); + sock_printf(sock, "widget_set D h%i %i %i %i\n", i, 10 + dev_wid, i + 1, table[i].full); } else { // < 20 columns - sprintf (tmp, "%-*s E%*sF", dev_wid, table[i].dev, gauge_wid, ""); - sprintf (buffer, "widget_set D s%i 1 %i {%s}\n", i, i + 1, tmp); - sock_send_string (sock, buffer); - sprintf (buffer, "widget_set D h%i %i %i %i\n", i, 3 + dev_wid, i + 1, table[i].full); - sock_send_string (sock, buffer); + sprintf(tmp, "%-*s E%*sF", dev_wid, table[i].dev, gauge_wid, ""); + sock_printf(sock, "widget_set D s%i 1 %i {%s}\n", i, i + 1, tmp); + sock_printf(sock, "widget_set D h%i %i %i %i\n", i, 3 + dev_wid, i + 1, table[i].full); } } // Now remove extra widgets... for ( ; i < num_disks; i++) { - sprintf (tmp, "widget_del D s%i\n", i); - sock_send_string (sock, tmp); - sprintf (tmp, "widget_del D h%i\n", i); - sock_send_string (sock, tmp); + sock_printf(sock, "widget_del D s%i\n", i); + sock_printf(sock, "widget_del D h%i\n", i); } num_disks = count; diff --git a/clients/lcdproc/disk.h b/clients/lcdproc/disk.h index 092e148..e934b53 100644 --- a/clients/lcdproc/disk.h +++ b/clients/lcdproc/disk.h @@ -1,6 +1,6 @@ #ifndef DISK_H #define DISK_H -int disk_screen (int rep, int display, int *flags_ptr); +int disk_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/eyebox.c b/clients/lcdproc/eyebox.c index 4f81c21..da92a49 100644 --- a/clients/lcdproc/eyebox.c +++ b/clients/lcdproc/eyebox.c @@ -53,10 +53,8 @@ eyebox_screen(char display, int init) load_type load; if (init == 0) { - sprintf(buffer, "widget_add %c eyebo_cpu string\n", display); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_add %c eyebo_mem string\n", display); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_add %c eyebo_cpu string\n", display); + sock_printf(sock, "widget_add %c eyebo_mem string\n", display); return(0); } @@ -100,8 +98,8 @@ eyebox_screen(char display, int init) * b = Level */ - sprintf(buffer, "widget_set %c eyebo_cpu 1 2 {/xB%d%d}\n", display, 2,(int)(cpu[CPU_BUF_SIZE][4]/10)); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set %c eyebo_cpu 1 2 {/xB%d%d}\n", + display, 2,(int)(cpu[CPU_BUF_SIZE][4]/10)); /* * /xBab = Use Bas @@ -111,8 +109,7 @@ eyebox_screen(char display, int init) value = 1.0 - (double) (mem[0].free + mem[0].buffers + mem[0].cache) / (double) mem[0].total; - sprintf(buffer, "widget_set %c eyebo_mem 1 3 {/xB%d%d}\n", display, 1, (int) (value * 10)) ; - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set %c eyebo_mem 1 3 {/xB%d%d}\n", display, 1, (int) (value * 10)) ; return 0; } // End mem_screen() @@ -132,9 +129,8 @@ void eyebox_clear(void){ sock_send_string(sock, "widget_set OFF text 1 2 {Reseting Leds...}\n"); sock_send_string(sock, "widget_set OFF about 5 4 {EyeBO by NeZetiC}\n"); - sprintf(buffer, "widget_set OFF cpu 1 2 {/xB%d%d}\n", 2, 0); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_set OFF mem 1 3 {/xB%d%d}\n", 1, 0); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set OFF cpu 1 2 {/xB%d%d}\n", 2, 0); + sock_printf(sock, "widget_set OFF mem 1 3 {/xB%d%d}\n", 1, 0); usleep(2000000); /* Wait last order execution */ } + diff --git a/clients/lcdproc/eyebox.h b/clients/lcdproc/eyebox.h index a360270..1fddd57 100644 --- a/clients/lcdproc/eyebox.h +++ b/clients/lcdproc/eyebox.h @@ -1,7 +1,7 @@ #ifndef CTRL_H #define CTRL_H -int eyebox_screen (char display, int init); +int eyebox_screen(char display, int init); void eyebox_clear(void); #endif diff --git a/clients/lcdproc/iface.h b/clients/lcdproc/iface.h index e171e33..f54e686 100644 --- a/clients/lcdproc/iface.h +++ b/clients/lcdproc/iface.h @@ -16,7 +16,7 @@ #define MAX_INTERFACES 3 /* max number of interfaces in multi-interface mode */ -int iface_screen (int rep, int display, int *flags_ptr); +int iface_screen(int rep, int display, int *flags_ptr); IfaceInfo iface[MAX_INTERFACES]; /* interface info */ /************************/ @@ -24,28 +24,28 @@ IfaceInfo iface[MAX_INTERFACES]; /* interface info */ /************************/ /* read interface stats from /proc/net/dev */ -int get_iface_stats (IfaceInfo *interface); +int get_iface_stats(IfaceInfo *interface); /* send initial commands to server to add the speed screen */ -void initialize_speed_screen (void); +void initialize_speed_screen(void); /* send initial commands to server to add the transfer screen */ void initialize_transfer_screen(void); /* format the time in ASCII */ -void get_time_string (char *buff, time_t last_online); +void get_time_string(char *buff, time_t last_online); /* format value, scaling value and adding proper suffixes */ -void format_value (char *buff, double value, char *unit); +void format_value(char *buff, double value, char *unit); /* format value, scaling value and adding proper suffixes (for multi-interface * mode) */ void format_value_multi_interface(char *buff, double value, char *unit); /* actualize widgets values in speed screen */ -void actualize_speed_screen (IfaceInfo *iface, unsigned int interval, int index); +void actualize_speed_screen(IfaceInfo *iface, unsigned int interval, int index); /* actualize widgets values in transfer screen */ -void actualize_transfer_screen (IfaceInfo *iface, int index); +void actualize_transfer_screen(IfaceInfo *iface, int index); #endif diff --git a/clients/lcdproc/load.c b/clients/lcdproc/load.c index 055c99b..52ff69a 100644 --- a/clients/lcdproc/load.c +++ b/clients/lcdproc/load.c @@ -27,7 +27,7 @@ // +--------------------+ // int -xload_screen (int rep, int display, int *flags_ptr) +xload_screen(int rep, int display, int *flags_ptr) { static int gauge_hgt = 0; static double loads[LCD_MAX_WIDTH]; @@ -45,33 +45,28 @@ xload_screen (int rep, int display, int *flags_ptr) highLoad = config_get_float("Load", "HighLoad", 0, LOAD_MAX); gauge_hgt = (lcd_hgt > 2) ? (lcd_hgt - 1) : lcd_hgt; - memset (loads, '\0', sizeof (double) * LCD_MAX_WIDTH); + memset(loads, '\0', sizeof(double) * LCD_MAX_WIDTH); - sock_send_string (sock, "screen_add L\n"); - sprintf (buffer, "screen_set L -name {Load: %s}\n", get_hostname()); - sock_send_string (sock, buffer); + sock_send_string(sock, "screen_add L\n"); + sock_printf(sock, "screen_set L -name {Load: %s}\n", get_hostname()); // Add the vbars... for (i = 1; i < lcd_wid; i++) { - sprintf (tmp, "widget_add L bar%i vbar\n", i); - sock_send_string (sock, tmp); - sprintf (tmp, "widget_set L bar%i %i %i 0\n", i, i, lcd_hgt); - sock_send_string (sock, tmp); + sock_printf(sock, "widget_add L bar%i vbar\n", i); + sock_printf(sock, "widget_set L bar%i %i %i 0\n", i, i, lcd_hgt); } // And add a title... if (lcd_hgt > 2) { - sock_send_string (sock, "widget_add L title title\n"); - sock_send_string (sock, "widget_set L title {LOAD }\n"); + sock_send_string(sock, "widget_add L title title\n"); + sock_send_string(sock, "widget_set L title {LOAD }\n"); } else { - sock_send_string (sock, "widget_add L title string\n"); - sock_send_string (sock, "widget_set L title 1 1 {LOAD}\n"); - sock_send_string (sock, "screen_set L -heartbeat off\n"); + sock_send_string(sock, "widget_add L title string\n"); + sock_send_string(sock, "widget_set L title 1 1 {LOAD}\n"); + sock_send_string(sock, "screen_set L -heartbeat off\n"); } - sock_send_string (sock, "widget_add L zero string\n"); - sock_send_string (sock, "widget_add L top string\n"); - sprintf (tmp, "widget_set L zero %i %i 0\n", lcd_wid, lcd_hgt); - sock_send_string (sock, tmp); - sprintf (tmp, "widget_set L top %i %i 1\n", lcd_wid, (lcd_hgt + 1 - gauge_hgt)); - sock_send_string (sock, tmp); + sock_send_string(sock, "widget_add L zero string\n"); + sock_send_string(sock, "widget_add L top string\n"); + sock_printf(sock, "widget_set L zero %i %i 0\n", lcd_wid, lcd_hgt); + sock_printf(sock, "widget_set L top %i %i 1\n", lcd_wid, (lcd_hgt + 1 - gauge_hgt)); } // shift load history @@ -94,22 +89,19 @@ xload_screen (int rep, int display, int *flags_ptr) factor = (double) (lcd_cellhgt * gauge_hgt) / (double) loadtop; // display load - sprintf (tmp, "widget_set L top %i %i %i\n", lcd_wid, (lcd_hgt + 1 - gauge_hgt), loadtop); - sock_send_string (sock, tmp); + sock_printf(sock, "widget_set L top %i %i %i\n", lcd_wid, (lcd_hgt + 1 - gauge_hgt), loadtop); for (i = 0; i < lcd_wid - 1; i++) { double x = loads[i] * factor; - sprintf (tmp, "widget_set L bar%i %i %i %i\n", i + 1, i + 1, lcd_hgt, (int) x); - sock_send_string (sock, tmp); + sock_printf(sock, "widget_set L bar%i %i %i %i\n", i + 1, i + 1, lcd_hgt, (int) x); } // And now the title... if (lcd_hgt > 2) - sprintf (tmp, "widget_set L title {LOAD %2.2f: %s}\n", loads[lcd_wid - 2], get_hostname()); + sock_printf(sock, "widget_set L title {LOAD %2.2f: %s}\n", loads[lcd_wid - 2], get_hostname()); else - sprintf (tmp, "widget_set L title 1 1 {%s %2.2f}\n", get_hostname(), loads[lcd_wid - 2]); - sock_send_string (sock, tmp); + sock_printf(sock, "widget_set L title 1 1 {%s %2.2f}\n", get_hostname(), loads[lcd_wid - 2]); // set return status depending on max & current load if (lowLoad < highLoad) { diff --git a/clients/lcdproc/load.h b/clients/lcdproc/load.h index 3e02e5b..93bbe64 100644 --- a/clients/lcdproc/load.h +++ b/clients/lcdproc/load.h @@ -8,6 +8,6 @@ #define LOAD_MIN 0.05 #endif -int xload_screen (int rep, int display, int *flags_ptr); +int xload_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/main.c b/clients/lcdproc/main.c index bdfb87a..b2242de 100644 --- a/clients/lcdproc/main.c +++ b/clients/lcdproc/main.c @@ -466,42 +466,41 @@ menus_init () for (k = 0; sequence[k].which ; k++) { if (sequence[k].longname) { - sprintf (buffer, "menu_add_item {} %c checkbox {%s} -value %s\n", + sock_printf(sock, "menu_add_item {} %c checkbox {%s} -value %s\n", sequence[k].which, sequence[k].longname, (sequence[k].flags & ACTIVE) ? "on" : "off"); - sock_send_string (sock, buffer); } } #ifdef LCDPROC_CLIENT_TESTMENUS // # to be entered on escape from test_menu (but overwritten // # for test_{checkbox,ring} - sock_send_string (sock, "menu_add_item {} ask menu {Leave menus?} -is_hidden true\n"); - sock_send_string (sock, "menu_add_item {ask} ask_yes action {Yes} -next _quit_\n"); - sock_send_string (sock, "menu_add_item {ask} ask_no action {No} -next _close_\n"); - sock_send_string (sock, "menu_add_item {} test menu {Test}\n"); - sock_send_string (sock, "menu_add_item {test} test_action action {Action}\n"); - sock_send_string (sock, "menu_add_item {test} test_checkbox checkbox {Checkbox}\n"); - sock_send_string (sock, "menu_add_item {test} test_ring ring {Ring} -strings {one\ttwo\tthree}\n"); - sock_send_string (sock, "menu_add_item {test} test_slider slider {Slider} -mintext < -maxtext > -value 50\n"); - sock_send_string (sock, "menu_add_item {test} test_numeric numeric {Numeric} -value 42\n"); - sock_send_string (sock, "menu_add_item {test} test_alpha alpha {Alpha} -value abc\n"); - sock_send_string (sock, "menu_add_item {test} test_ip ip {IP} -v6 false -value 192.168.1.1\n"); - sock_send_string (sock, "menu_add_item {test} test_menu menu {Menu}\n"); - sock_send_string (sock, "menu_add_item {test_menu} test_menu_action action {Submenu's action}\n"); + sock_send_string(sock, "menu_add_item {} ask menu {Leave menus?} -is_hidden true\n"); + sock_send_string(sock, "menu_add_item {ask} ask_yes action {Yes} -next _quit_\n"); + sock_send_string(sock, "menu_add_item {ask} ask_no action {No} -next _close_\n"); + sock_send_string(sock, "menu_add_item {} test menu {Test}\n"); + sock_send_string(sock, "menu_add_item {test} test_action action {Action}\n"); + sock_send_string(sock, "menu_add_item {test} test_checkbox checkbox {Checkbox}\n"); + sock_send_string(sock, "menu_add_item {test} test_ring ring {Ring} -strings {one\ttwo\tthree}\n"); + sock_send_string(sock, "menu_add_item {test} test_slider slider {Slider} -mintext < -maxtext > -value 50\n"); + sock_send_string(sock, "menu_add_item {test} test_numeric numeric {Numeric} -value 42\n"); + sock_send_string(sock, "menu_add_item {test} test_alpha alpha {Alpha} -value abc\n"); + sock_send_string(sock, "menu_add_item {test} test_ip ip {IP} -v6 false -value 192.168.1.1\n"); + sock_send_string(sock, "menu_add_item {test} test_menu menu {Menu}\n"); + sock_send_string(sock, "menu_add_item {test_menu} test_menu_action action {Submenu's action}\n"); // # no successor for menus. Since test_checkbox and test_ring have their // # own predecessors defined the "ask" rule will not work for them - sock_send_string (sock, "menu_set_item {} test -prev {ask}\n"); + sock_send_string(sock, "menu_set_item {} test -prev {ask}\n"); - sock_send_string (sock, "menu_set_item {test} test_action -next {test_checkbox}\n"); - sock_send_string (sock, "menu_set_item {test} test_checkbox -next {test_ring} -prev test_action\n"); - sock_send_string (sock, "menu_set_item {test} test_ring -next {test_slider} -prev {test_checkbox}\n"); - sock_send_string (sock, "menu_set_item {test} test_slider -next {test_numeric} -prev {test_ring}\n"); - sock_send_string (sock, "menu_set_item {test} test_numeric -next {test_alpha} -prev {test_slider}\n"); - sock_send_string (sock, "menu_set_item {test} test_alpha -next {test_ip} -prev {test_numeric}\n"); - sock_send_string (sock, "menu_set_item {test} test_ip -next {test_menu} -prev {test_alpha}\n"); - sock_send_string (sock, "menu_set_item {test} test_menu_action -next {_close_}\n"); + sock_send_string(sock, "menu_set_item {test} test_action -next {test_checkbox}\n"); + sock_send_string(sock, "menu_set_item {test} test_checkbox -next {test_ring} -prev test_action\n"); + sock_send_string(sock, "menu_set_item {test} test_ring -next {test_slider} -prev {test_checkbox}\n"); + sock_send_string(sock, "menu_set_item {test} test_slider -next {test_numeric} -prev {test_ring}\n"); + sock_send_string(sock, "menu_set_item {test} test_numeric -next {test_alpha} -prev {test_slider}\n"); + sock_send_string(sock, "menu_set_item {test} test_alpha -next {test_ip} -prev {test_numeric}\n"); + sock_send_string(sock, "menu_set_item {test} test_ip -next {test_menu} -prev {test_alpha}\n"); + sock_send_string(sock, "menu_set_item {test} test_menu_action -next {_close_}\n"); #endif //LCDPROC_CLIENT_TESTMENUS return 0; diff --git a/clients/lcdproc/mem.c b/clients/lcdproc/mem.c index 1c0bb28..9579abd 100644 --- a/clients/lcdproc/mem.c +++ b/clients/lcdproc/mem.c @@ -29,7 +29,7 @@ // +--------------------+ // int -mem_screen (int rep, int display, int *flags_ptr) +mem_screen(int rep, int display, int *flags_ptr) { static int which_title = 0; static int gauge_wid = 0; @@ -40,8 +40,7 @@ mem_screen (int rep, int display, int *flags_ptr) *flags_ptr |= INITIALIZED; sock_send_string(sock, "screen_add M\n"); - sprintf(buffer, "screen_set M -name {Memory & Swap: %s}\n", get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "screen_set M -name {Memory & Swap: %s}\n", get_hostname()); if (lcd_hgt >= 4) { gauge_wid = (lcd_wid >= 18) @@ -52,17 +51,13 @@ mem_screen (int rep, int display, int *flags_ptr) sock_send_string(sock, "widget_set M title { MEM -==- SWAP}\n"); sock_send_string(sock, "widget_add M totl string\n"); sock_send_string(sock, "widget_add M used string\n"); - sprintf(buffer, "widget_set M totl %i 2 Totl\n", lcd_wid/2 - 1); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_set M used %i 3 Free\n", lcd_wid/2 - 1); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M totl %i 2 Totl\n", lcd_wid/2 - 1); + sock_printf(sock, "widget_set M used %i 3 Free\n", lcd_wid/2 - 1); sock_send_string(sock, "widget_add M EFmem string\n"); - sprintf(buffer, "widget_set M EFmem 1 4 {E%*sF}\n", gauge_wid, ""); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M EFmem 1 4 {E%*sF}\n", gauge_wid, ""); sock_send_string(sock, "widget_add M EFswap string\n"); - sprintf(buffer, "widget_set M EFswap %i 4 {E%*sF}\n", - lcd_wid - gauge_wid - 1, gauge_wid, ""); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M EFswap %i 4 {E%*sF}\n", + lcd_wid - gauge_wid - 1, gauge_wid, ""); sock_send_string(sock, "widget_add M memused string\n"); sock_send_string(sock, "widget_add M swapused string\n"); } else { @@ -72,12 +67,10 @@ mem_screen (int rep, int display, int *flags_ptr) sock_send_string(sock, "widget_add M m string\n"); sock_send_string(sock, "widget_add M s string\n"); if (gauge_wid > 0) { - sprintf(buffer, "widget_set M m 1 1 {M%*s[%*s]}\n", + sock_printf(sock, "widget_set M m 1 1 {M%*s[%*s]}\n", gauge_offs - 3, "", gauge_wid, ""); - sock_send_string(sock, buffer); - sprintf(buffer, "widget_set M s 1 2 {S%*s[%*s]}\n", + sock_printf(sock, "widget_set M s 1 2 {S%*s[%*s]}\n", gauge_offs - 3, "", gauge_wid, ""); - sock_send_string(sock, buffer); } else { sock_send_string(sock, "widget_set M m 1 1 {M }\n"); @@ -97,37 +90,34 @@ mem_screen (int rep, int display, int *flags_ptr) machine_get_meminfo(mem); if (lcd_hgt >= 4) { + char tmp[12]; // should be sufficient + // flip the title back and forth... (every 4 updates) if (which_title & 4) { - sprintf(buffer, "widget_set M title {%s}\n", get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M title {%s}\n", get_hostname()); } else sock_send_string(sock, "widget_set M title { MEM -==- SWAP}\n"); which_title = (which_title + 1) & 7; // Total memory sprintf_memory(tmp, mem[0].total * 1024, 1); - sprintf(buffer, "widget_set M memtotl 1 2 {%7s}\n", tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M memtotl 1 2 {%7s}\n", tmp); // Free memory (plus buffers and cache) sprintf_memory(tmp, (mem[0].free + mem[0].buffers + mem[0].cache) * 1024, 1); - sprintf(buffer, "widget_set M memused 1 3 {%7s}\n", tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M memused 1 3 {%7s}\n", tmp); // Total swap sprintf_memory(tmp, mem[1].total * 1024, 1); - sprintf(buffer, "widget_set M swaptotl %i 2 {%7s}\n", lcd_wid - 7, tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M swaptotl %i 2 {%7s}\n", lcd_wid - 7, tmp); // Free swap sprintf_memory(tmp, mem[1].free * 1024, 1); - sprintf(buffer, "widget_set M swapused %i 3 {%7s}\n", lcd_wid - 7, tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M swapused %i 3 {%7s}\n", lcd_wid - 7, tmp); if (gauge_wid > 0) { // Free memory graph @@ -136,10 +126,9 @@ mem_screen (int rep, int display, int *flags_ptr) / (double) mem[0].total; //printf(".0f", val) only prints the integer part - sprintf(buffer, "widget_set M memgauge 2 4 %.0f\n", - lcd_cellwid * gauge_wid * value); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M memgauge 2 4 %.0f\n", + lcd_cellwid * gauge_wid * value); } // Free swap graph @@ -147,25 +136,24 @@ mem_screen (int rep, int display, int *flags_ptr) double value = 1.0 - ((double) mem[1].free / (double) mem[1].total); //printf(".0f", val) only prints the integer part - sprintf(buffer, "widget_set M swapgauge %i 4 %.0f\n", - lcd_wid - gauge_wid, lcd_cellwid * gauge_wid * value); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M swapgauge %i 4 %.0f\n", + lcd_wid - gauge_wid, lcd_cellwid * gauge_wid * value); } } } else { + char tmp[12]; // should be sufficient + // Total memory sprintf_memory(tmp, mem[0].total * 1024, 1); - sprintf(buffer, "widget_set M memtotl 3 1 {%6s}\n", tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M memtotl 3 1 {%6s}\n", tmp); // Total swap sprintf_memory(tmp, mem[1].total * 1024, 1); - sprintf(buffer, "widget_set M swaptotl 3 2 {%6s}\n", tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M swaptotl 3 2 {%6s}\n", tmp); // Free memory graph strcpy(tmp, "N/A"); @@ -175,17 +163,15 @@ mem_screen (int rep, int display, int *flags_ptr) if (gauge_wid > 0) { //printf(".0f", val) only prints the integer part - sprintf(buffer, "widget_set M memgauge %i 1 %.0f\n", - gauge_offs, lcd_cellwid * gauge_wid * value); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M memgauge %i 1 %.0f\n", + gauge_offs, lcd_cellwid * gauge_wid * value); } sprintf_percent(tmp, value * 100); } - sprintf(buffer, "widget_set M mem%% %i 1 {%5s}\n", lcd_wid - 5, tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M mem%% %i 1 {%5s}\n", lcd_wid - 5, tmp); // Free swap graph strcpy(tmp, "N/A"); @@ -194,17 +180,15 @@ mem_screen (int rep, int display, int *flags_ptr) if (gauge_wid > 0) { //printf(".0f", val) only prints the integer part - sprintf(buffer, "widget_set M swapgauge %i 2 %.0f\n", - gauge_offs, lcd_cellwid * gauge_wid * value); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M swapgauge %i 2 %.0f\n", + gauge_offs, lcd_cellwid * gauge_wid * value); } sprintf_percent(tmp, value * 100); } - sprintf(buffer, "widget_set M swap%% %i 2 {%5s}\n", lcd_wid - 5, tmp); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set M swap%% %i 2 {%5s}\n", lcd_wid - 5, tmp); } return 0; @@ -212,7 +196,7 @@ mem_screen (int rep, int display, int *flags_ptr) static int -sort_procs (void *a, void *b) +sort_procs(void *a, void *b) { procinfo_type *one, *two; @@ -237,7 +221,7 @@ sort_procs (void *a, void *b) // +--------------------+ // int -mem_top_screen (int rep, int display, int *flags_ptr) +mem_top_screen(int rep, int display, int *flags_ptr) { LinkedList *procs; int i; @@ -246,31 +230,27 @@ mem_top_screen (int rep, int display, int *flags_ptr) *flags_ptr |= INITIALIZED; sock_send_string(sock, "screen_add S\n"); - sprintf(buffer, "screen_set S -name {Top Memory Use: %s}\n", get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "screen_set S -name {Top Memory Use: %s}\n", get_hostname()); sock_send_string(sock, "widget_add S title title\n"); - sprintf(buffer, "widget_set S title {TOP MEM: %s}\n", get_hostname()); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set S title {TOP MEM: %s}\n", get_hostname()); // frame from (2nd line, left) to (last line, right) sock_send_string(sock, "widget_add S f frame\n"); - sprintf(buffer, "widget_set S f 1 2 %i %i %i 5 v %i\n", - lcd_wid, lcd_hgt, lcd_wid, - // scroll rate: 1 line every X ticks (= 1/8 sec) - ((lcd_hgt >= 4) ? 8 : 12)); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set S f 1 2 %i %i %i 5 v %i\n", + lcd_wid, lcd_hgt, lcd_wid, + // scroll rate: 1 line every X ticks (= 1/8 sec) + ((lcd_hgt >= 4) ? 8 : 12)); // frame contents for (i = 1; i <= 5; i++) { - sprintf(buffer, "widget_add S %i string -in f\n", i); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_add S %i string -in f\n", i); } sock_send_string(sock, "widget_set S 1 1 1 Checking...\n"); } procs = LL_new(); if (procs == NULL) { - fprintf (stderr, "mem_top_screen: Error allocating list\n"); + fprintf(stderr, "mem_top_screen: Error allocating list\n"); return -1; } @@ -289,22 +269,23 @@ mem_top_screen (int rep, int display, int *flags_ptr) sprintf_memory(mem, (double) p->totl * 1024, 1); //printf("Mem hog: %s: %s\n", p->name, mem); - if (p->number > 1) - sprintf(tmp, "%i %5s %s(%i)", i, mem, p->name, p->number); - else - sprintf(tmp, "%i %5s %s", i, mem, p->name); - sprintf(buffer, "widget_set S %i 1 %i {%s}\n", i, i, tmp); - if (display) - sock_send_string(sock, buffer); - } else { + if (display) { + if (p->number > 1) + sock_printf(sock, "widget_set S %i 1 %i {%i %5s %s(%i)}\n", + i, i, i, mem, p->name, p->number); + else + sock_printf(sock, "widget_set S %i 1 %i {%i %5s %s}\n", + i, i, i, mem, p->name); + } + } + else { //printf("Mem hog: none?\n"); //sprintf(buffer, "widget_set S %i 1 %i {}\n", i, i); - sprintf(buffer, "widget_set S %i 1 %i { }\n", i, i); if (display) - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set S %i 1 %i { }\n", i, i); } - LL_Next (procs); + LL_Next(procs); } // Now clean it all up... diff --git a/clients/lcdproc/mem.h b/clients/lcdproc/mem.h index fd01772..20bf6d2 100644 --- a/clients/lcdproc/mem.h +++ b/clients/lcdproc/mem.h @@ -1,7 +1,7 @@ #ifndef MEM_H #define MEM_H -int mem_screen (int rep, int display, int *flags_ptr); -int mem_top_screen (int rep, int display, int *flags_ptr); +int mem_screen(int rep, int display, int *flags_ptr); +int mem_top_screen(int rep, int display, int *flags_ptr); #endif diff --git a/clients/lcdproc/mode.c b/clients/lcdproc/mode.c index 93efcb7..582dc24 100644 --- a/clients/lcdproc/mode.c +++ b/clients/lcdproc/mode.c @@ -25,22 +25,10 @@ // TODO: Clean this up... Support multiple display sizes.. -char *tmp = NULL; -char *buffer = NULL; int mode_init() { - if ((buffer = malloc(1024)) == NULL) { - perror("malloc buffer"); - return(0); - } - - if ((tmp = malloc(1024)) == NULL) { - perror("malloc tmp"); - return(0); - } - machine_init(); return(0); @@ -50,16 +38,6 @@ void mode_close() { machine_close(); - - if (tmp != NULL) { - free(tmp); - tmp = NULL; - } - - if (buffer != NULL) { - free(buffer); - buffer = NULL; - } } int @@ -112,8 +90,7 @@ credit_screen(int rep, int display, int *flags_ptr) sock_send_string(sock, "screen_add A\n"); sock_send_string(sock, "screen_set A -name {Credits for LCDproc}\n"); sock_send_string(sock, "widget_add A title title\n"); - sprintf(buffer, "widget_set A title {LCDPROC %s}\n", version); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set A title {LCDPROC %s}\n", version); if (lcd_hgt >= 4) { sock_send_string(sock, "widget_add A one string\n"); @@ -126,8 +103,7 @@ credit_screen(int rep, int display, int *flags_ptr) else { sock_send_string(sock, "widget_add A text scroller\n"); - sprintf(buffer, "widget_set A text 1 2 %d 2 h 8 { for Linux & *BSD by William Ferrell, Scott Scriven}\n", lcd_wid); - sock_send_string(sock, buffer); + sock_printf(sock, "widget_set A text 1 2 %d 2 h 8 { for Linux & *BSD by William Ferrell, Scott Scriven}\n", lcd_wid); } } diff --git a/clients/lcdproc/mode.h b/clients/lcdproc/mode.h index 7d8c880..b46e2f5 100644 --- a/clients/lcdproc/mode.h +++ b/clients/lcdproc/mode.h @@ -3,14 +3,12 @@ #include "main.h" -//TODO: get rid of these global variables! -extern char *tmp; -extern char *buffer; -int mode_init (); -void mode_close (); +int mode_init(); +void mode_close(); -int update_screen (mode * m, int display); -int credit_screen (int rep, int display, int *flags_ptr); +int update_screen(mode * m, int display); + +int credit_screen(int rep, int display, int *flags_ptr); #endif