diff options
author | Nathan Scott <nathans@redhat.com> | 2020-11-23 17:34:44 +1100 |
---|---|---|
committer | Nathan Scott <nathans@redhat.com> | 2020-11-23 17:34:44 +1100 |
commit | 003f2c06a4a346ecfcc9272700a6fa71d381c43e (patch) | |
tree | 03ac4388ba32e929e392e234dd99a19674295ac2 | |
parent | 17eeb7573abe504a63e10621d67cae65e2f620aa (diff) | |
parent | 82a69ee87af4aec4b5520d55c4949f287f4e6708 (diff) |
Merge branch 'cleanup-init-done' into master
-rw-r--r-- | darwin/Platform.c | 13 | ||||
-rw-r--r-- | darwin/Platform.h | 11 | ||||
-rw-r--r-- | dragonflybsd/Platform.c | 17 | ||||
-rw-r--r-- | dragonflybsd/Platform.h | 8 | ||||
-rw-r--r-- | freebsd/Platform.c | 17 | ||||
-rw-r--r-- | freebsd/Platform.h | 8 | ||||
-rw-r--r-- | htop.c | 63 | ||||
-rw-r--r-- | linux/Platform.c | 22 | ||||
-rw-r--r-- | linux/Platform.h | 8 | ||||
-rw-r--r-- | openbsd/Platform.c | 17 | ||||
-rw-r--r-- | openbsd/Platform.h | 8 | ||||
-rw-r--r-- | solaris/Platform.c | 17 | ||||
-rw-r--r-- | solaris/Platform.h | 8 | ||||
-rw-r--r-- | unsupported/Platform.c | 19 | ||||
-rw-r--r-- | unsupported/Platform.h | 8 |
15 files changed, 158 insertions, 86 deletions
diff --git a/darwin/Platform.c b/darwin/Platform.c index fe3505e9..09fec45a 100644 --- a/darwin/Platform.c +++ b/darwin/Platform.c @@ -131,12 +131,21 @@ const MeterClass* const Platform_meterTypes[] = { NULL }; +int Platform_numberOfFields = 100; + +void Platform_init(void) { + /* no platform-specific setup needed */ +} + +void Platform_done(void) { + /* no platform-specific cleanup needed */ +} + void Platform_setBindings(Htop_Action* keys) { + /* no platform-specific key bindings */ (void) keys; } -int Platform_numberOfFields = 100; - int Platform_getUptime() { struct timeval bootTime, currTime; int mib[2] = { CTL_KERN, KERN_BOOTTIME }; diff --git a/darwin/Platform.h b/darwin/Platform.h index 40b7d730..e1f83553 100644 --- a/darwin/Platform.h +++ b/darwin/Platform.h @@ -19,20 +19,23 @@ in the source distribution for its full text. #include "ProcessLocksScreen.h" #include "SignalsPanel.h" +extern ProcessFieldData Process_fields[]; extern ProcessField Platform_defaultFields[]; +extern int Platform_numberOfFields; + extern const SignalItem Platform_signals[]; extern const unsigned int Platform_numberOfSignals; -extern ProcessFieldData Process_fields[]; - extern const MeterClass* const Platform_meterTypes[]; -void Platform_setBindings(Htop_Action* keys); +void Platform_init(void); -extern int Platform_numberOfFields; +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); int Platform_getUptime(void); diff --git a/dragonflybsd/Platform.c b/dragonflybsd/Platform.c index 5f754d2a..6ca576fe 100644 --- a/dragonflybsd/Platform.c +++ b/dragonflybsd/Platform.c @@ -74,10 +74,6 @@ const SignalItem Platform_signals[] = { const unsigned int Platform_numberOfSignals = ARRAYSIZE(Platform_signals); -void Platform_setBindings(Htop_Action* keys) { - (void) keys; -} - const MeterClass* const Platform_meterTypes[] = { &CPUMeter_class, &ClockMeter_class, @@ -107,6 +103,19 @@ const MeterClass* const Platform_meterTypes[] = { NULL }; +void Platform_init(void) { + /* no platform-specific setup needed */ +} + +void Platform_done(void) { + /* no platform-specific cleanup needed */ +} + +void Platform_setBindings(Htop_Action* keys) { + /* no platform-specific key bindings */ + (void) keys; +} + int Platform_getUptime() { struct timeval bootTime, currTime; int mib[2] = { CTL_KERN, KERN_BOOTTIME }; diff --git a/dragonflybsd/Platform.h b/dragonflybsd/Platform.h index 267b8f37..a05eb641 100644 --- a/dragonflybsd/Platform.h +++ b/dragonflybsd/Platform.h @@ -27,10 +27,14 @@ extern const SignalItem Platform_signals[]; extern const unsigned int Platform_numberOfSignals; -void Platform_setBindings(Htop_Action* keys); - extern const MeterClass* const Platform_meterTypes[]; +void Platform_init(void); + +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); + int Platform_getUptime(void); void Platform_getLoadAverage(double* one, double* five, double* fifteen); diff --git a/freebsd/Platform.c b/freebsd/Platform.c index 6505f746..89430814 100644 --- a/freebsd/Platform.c +++ b/freebsd/Platform.c @@ -90,10 +90,6 @@ const SignalItem Platform_signals[] = { const unsigned int Platform_numberOfSignals = ARRAYSIZE(Platform_signals); -void Platform_setBindings(Htop_Action* keys) { - (void) keys; -} - const MeterClass* const Platform_meterTypes[] = { &CPUMeter_class, &ClockMeter_class, @@ -127,6 +123,19 @@ const MeterClass* const Platform_meterTypes[] = { NULL }; +void Platform_init(void) { + /* no platform-specific setup needed */ +} + +void Platform_done(void) { + /* no platform-specific cleanup needed */ +} + +void Platform_setBindings(Htop_Action* keys) { + /* no platform-specific key bindings */ + (void) keys; +} + int Platform_getUptime() { struct timeval bootTime, currTime; int mib[2] = { CTL_KERN, KERN_BOOTTIME }; diff --git a/freebsd/Platform.h b/freebsd/Platform.h index b3cb6717..983f943a 100644 --- a/freebsd/Platform.h +++ b/freebsd/Platform.h @@ -29,10 +29,14 @@ extern const SignalItem Platform_signals[]; extern const unsigned int Platform_numberOfSignals; -void Platform_setBindings(Htop_Action* keys); - extern const MeterClass* const Platform_meterTypes[]; +void Platform_init(void); + +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); + int Platform_getUptime(void); void Platform_getLoadAverage(double* one, double* five, double* fifteen); @@ -34,18 +34,12 @@ in the source distribution for its full text. #include "UsersTable.h" #include "XUtils.h" - -#ifdef HAVE_LIBSENSORS -#include <sensors/sensors.h> -#endif - - static void printVersionFlag(void) { - fputs("htop " VERSION "\n", stdout); + fputs(PACKAGE " " VERSION "\n", stdout); } static void printHelpFlag(void) { - fputs("htop " VERSION "\n" + fputs(PACKAGE " " VERSION "\n" COPYRIGHT "\n" "Released under the GNU GPLv2.\n\n" "-C --no-color Use a monochrome color scheme\n" @@ -62,8 +56,8 @@ static void printHelpFlag(void) { "-V --version Print version info\n" "\n" "Long options may be passed with a single dash.\n\n" - "Press F1 inside htop for online help.\n" - "See 'man htop' for more information.\n", + "Press F1 inside " PACKAGE " for online help.\n" + "See 'man " PACKAGE "' for more information.\n", stdout); } @@ -269,22 +263,16 @@ static void setCommFilter(State* state, char** commFilter) { int main(int argc, char** argv) { char *lc_ctype = getenv("LC_CTYPE"); - if (lc_ctype != NULL) { + if (lc_ctype != NULL) setlocale(LC_CTYPE, lc_ctype); - } else if ((lc_ctype = getenv("LC_ALL"))) { + else if ((lc_ctype = getenv("LC_ALL"))) setlocale(LC_CTYPE, lc_ctype); - } else { + else setlocale(LC_CTYPE, ""); - } - CommandLineSettings flags = parseArguments(argc, argv); // may exit() + CommandLineSettings flags = parseArguments(argc, argv); -#ifdef HTOP_LINUX - if (access(PROCDIR, R_OK) != 0) { - fprintf(stderr, "Error: could not read procfs (compiled to look in %s).\n", PROCDIR); - exit(1); - } -#endif + Platform_init(); Process_setupColumnWidths(); @@ -298,31 +286,21 @@ int main(int argc, char** argv) { Header_populateFromSettings(header); - if (flags.delay != -1) { + if (flags.delay != -1) settings->delay = flags.delay; - } - if (!flags.useColors) { + if (!flags.useColors) settings->colorScheme = COLORSCHEME_MONOCHROME; - } - if (!flags.enableMouse) { + if (!flags.enableMouse) settings->enableMouse = false; - } - if (flags.treeView) { + if (flags.treeView) settings->treeView = true; - } - if (flags.highlightChanges) { + if (flags.highlightChanges) settings->highlightChanges = true; - } - if (flags.highlightDelaySecs != -1) { + if (flags.highlightDelaySecs != -1) settings->highlightDelaySecs = flags.highlightDelaySecs; - } CRT_init(settings->delay, settings->colorScheme, flags.allowUnicode); -#ifdef HAVE_LIBSENSORS - sensors_init(NULL); -#endif - MainPanel* panel = MainPanel_new(); ProcessList_setPanel(pl, (Panel*) panel); @@ -345,9 +323,8 @@ int main(int argc, char** argv) { }; MainPanel_setState(panel, &state); - if (flags.commFilter) { + if (flags.commFilter) setCommFilter(&state, &(flags.commFilter)); - } ScreenManager* scr = ScreenManager_new(0, header->height, 0, -1, HORIZONTAL, header, settings, &state, true); ScreenManager_add(scr, (Panel*) panel, -1); @@ -363,9 +340,7 @@ int main(int argc, char** argv) { attroff(CRT_colors[RESET_COLOR]); refresh(); -#ifdef HAVE_LIBSENSORS - sensors_cleanup(); -#endif + Platform_done(); CRT_done(); if (settings->changed) @@ -379,8 +354,8 @@ int main(int argc, char** argv) { UsersTable_delete(ut); Settings_delete(settings); - if(flags.pidMatchList) { + if (flags.pidMatchList) Hashtable_delete(flags.pidMatchList); - } + return 0; } diff --git a/linux/Platform.c b/linux/Platform.c index ff20d133..aab2f45e 100644 --- a/linux/Platform.c +++ b/linux/Platform.c @@ -61,11 +61,12 @@ in the source distribution for its full text. #include "zfs/ZfsArcStats.h" #include "zfs/ZfsCompressedArcMeter.h" +#ifdef HAVE_LIBSENSORS +#include <sensors/sensors.h> +#endif ProcessField Platform_defaultFields[] = { PID, USER, PRIORITY, NICE, M_VIRT, M_RESIDENT, (int)M_SHARE, STATE, PERCENT_CPU, PERCENT_MEM, TIME, COMM, 0 }; -//static ProcessField defaultIoFields[] = { PID, IO_PRIORITY, USER, IO_READ_RATE, IO_WRITE_RATE, IO_RATE, COMM, 0 }; - int Platform_numberOfFields = LAST_PROCESSFIELD; const SignalItem Platform_signals[] = { @@ -112,6 +113,23 @@ static time_t Platform_Battery_cacheTime; static double Platform_Battery_cacheLevel = NAN; static ACPresence Platform_Battery_cacheIsOnAC; +void Platform_init(void) { + if (access(PROCDIR, R_OK) != 0) { + fprintf(stderr, "Error: could not read procfs (compiled to look in %s).\n", PROCDIR); + exit(1); + } + +#ifdef HAVE_LIBSENSORS + sensors_init(NULL); +#endif +} + +void Platform_done(void) { +#ifdef HAVE_LIBSENSORS + sensors_cleanup(); +#endif +} + static Htop_Reaction Platform_actionSetIOPriority(State* st) { Panel* panel = st->panel; diff --git a/linux/Platform.h b/linux/Platform.h index dbd6bb46..280b997c 100644 --- a/linux/Platform.h +++ b/linux/Platform.h @@ -26,10 +26,14 @@ extern const SignalItem Platform_signals[]; extern const unsigned int Platform_numberOfSignals; -void Platform_setBindings(Htop_Action* keys); - extern const MeterClass* const Platform_meterTypes[]; +void Platform_init(void); + +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); + int Platform_getUptime(void); void Platform_getLoadAverage(double* one, double* five, double* fifteen); diff --git a/openbsd/Platform.c b/openbsd/Platform.c index 57b561e3..550e2584 100644 --- a/openbsd/Platform.c +++ b/openbsd/Platform.c @@ -89,10 +89,6 @@ const SignalItem Platform_signals[] = { const unsigned int Platform_numberOfSignals = ARRAYSIZE(Platform_signals); -void Platform_setBindings(Htop_Action* keys) { - (void) keys; -} - const MeterClass* const Platform_meterTypes[] = { &CPUMeter_class, &ClockMeter_class, @@ -122,6 +118,19 @@ const MeterClass* const Platform_meterTypes[] = { NULL }; +void Platform_init(void) { + /* no platform-specific setup needed */ +} + +void Platform_done(void) { + /* no platform-specific cleanup needed */ +} + +void Platform_setBindings(Htop_Action* keys) { + /* no platform-specific key bindings */ + (void) keys; +} + // preserved from FreeBSD port int Platform_getUptime() { struct timeval bootTime, currTime; diff --git a/openbsd/Platform.h b/openbsd/Platform.h index a624bb7b..dd5c6529 100644 --- a/openbsd/Platform.h +++ b/openbsd/Platform.h @@ -28,10 +28,14 @@ extern const SignalItem Platform_signals[]; extern const unsigned int Platform_numberOfSignals; -void Platform_setBindings(Htop_Action* keys); - extern const MeterClass* const Platform_meterTypes[]; +void Platform_init(void); + +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); + int Platform_getUptime(void); void Platform_getLoadAverage(double* one, double* five, double* fifteen); diff --git a/solaris/Platform.c b/solaris/Platform.c index cf85a4c8..f3aaa695 100644 --- a/solaris/Platform.c +++ b/solaris/Platform.c @@ -119,14 +119,23 @@ const MeterClass* const Platform_meterTypes[] = { NULL }; -void Platform_setBindings(Htop_Action* keys) { - (void) keys; -} - int Platform_numberOfFields = LAST_PROCESSFIELD; extern char Process_pidFormat[20]; +void Platform_init(void) { + /* no platform-specific setup needed */ +} + +void Platform_done(void) { + /* no platform-specific cleanup needed */ +} + +void Platform_setBindings(Htop_Action* keys) { + /* no platform-specific key bindings */ + (void) keys; +} + int Platform_getUptime() { int boot_time = 0; int curr_time = time(NULL); diff --git a/solaris/Platform.h b/solaris/Platform.h index 051a64da..0c2e44a2 100644 --- a/solaris/Platform.h +++ b/solaris/Platform.h @@ -45,12 +45,16 @@ extern ProcessField Platform_defaultFields[]; extern const MeterClass* const Platform_meterTypes[]; -void Platform_setBindings(Htop_Action* keys); - extern int Platform_numberOfFields; extern char Process_pidFormat[20]; +void Platform_init(void); + +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); + int Platform_getUptime(void); void Platform_getLoadAverage(double* one, double* five, double* fifteen); diff --git a/unsupported/Platform.c b/unsupported/Platform.c index 5bf1a2de..ee36d9c1 100644 --- a/unsupported/Platform.c +++ b/unsupported/Platform.c @@ -88,18 +88,25 @@ const MeterClass* const Platform_meterTypes[] = { NULL }; -void Platform_setBindings(Htop_Action* keys) { - (void) keys; -} - int Platform_numberOfFields = 100; -extern char Process_pidFormat[20]; - ProcessPidColumn Process_pidColumns[] = { { .id = 0, .label = NULL }, }; +void Platform_init(void) { + /* no platform-specific setup needed */ +} + +void Platform_done(void) { + /* no platform-specific cleanup needed */ +} + +void Platform_setBindings(Htop_Action* keys) { + /* no platform-specific key bindings */ + (void) keys; +} + int Platform_getUptime() { return 0; } diff --git a/unsupported/Platform.h b/unsupported/Platform.h index c75a283a..d3f5d72a 100644 --- a/unsupported/Platform.h +++ b/unsupported/Platform.h @@ -25,14 +25,18 @@ extern ProcessFieldData Process_fields[]; extern const MeterClass* const Platform_meterTypes[]; -void Platform_setBindings(Htop_Action* keys); - extern int Platform_numberOfFields; extern char Process_pidFormat[20]; extern ProcessPidColumn Process_pidColumns[]; +void Platform_init(void); + +void Platform_done(void); + +void Platform_setBindings(Htop_Action* keys); + int Platform_getUptime(void); void Platform_getLoadAverage(double* one, double* five, double* fifteen); |