summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2020-11-01 01:09:51 +0100
committerBenny Baumann <BenBE@geshi.org>2020-11-02 22:15:01 +0100
commit45869513bfebba80cc2ab42e4218f68b34b1e6ac (patch)
treef064631dbff141bf1c945db8cff40b7bb82fd169
parent61e14d4bb25268593019e6df3eb02264b4ac8e0e (diff)
Embracing branches
-rw-r--r--Action.c64
-rw-r--r--Affinity.c7
-rw-r--r--AffinityPanel.c33
-rw-r--r--CPUMeter.c3
-rw-r--r--CRT.c16
-rw-r--r--CategoriesPanel.c1
-rw-r--r--CheckItem.c15
-rw-r--r--ColorsPanel.c1
-rw-r--r--CommandScreen.c4
-rw-r--r--FunctionBar.c10
-rw-r--r--Hashtable.c9
-rw-r--r--Header.c9
-rw-r--r--IncSet.c37
-rw-r--r--InfoScreen.c11
-rw-r--r--MainPanel.c9
-rw-r--r--Meter.c29
-rw-r--r--Object.c6
-rw-r--r--OpenFilesScreen.c14
-rw-r--r--Panel.c22
-rw-r--r--Process.c43
-rw-r--r--ProcessList.c46
-rw-r--r--RichString.c4
-rw-r--r--ScreenManager.c52
-rw-r--r--Settings.c16
-rw-r--r--TraceScreen.c12
-rw-r--r--Vector.c32
-rw-r--r--darwin/DarwinProcessList.c9
-rw-r--r--dragonflybsd/Battery.c10
-rw-r--r--dragonflybsd/DragonFlyBSDProcess.c5
-rw-r--r--dragonflybsd/DragonFlyBSDProcessList.c14
-rw-r--r--dragonflybsd/Platform.c4
-rw-r--r--freebsd/Battery.c10
-rw-r--r--freebsd/FreeBSDProcess.c5
-rw-r--r--freebsd/FreeBSDProcessList.c36
-rw-r--r--htop.c19
-rw-r--r--linux/Battery.c43
-rw-r--r--linux/IOPriorityPanel.c14
-rw-r--r--linux/LinuxProcess.c6
-rw-r--r--linux/LinuxProcessList.c146
-rw-r--r--linux/Platform.c21
-rw-r--r--linux/SELinuxMeter.c21
-rw-r--r--openbsd/OpenBSDProcessList.c3
-rw-r--r--openbsd/Platform.c7
-rw-r--r--solaris/Platform.c25
-rw-r--r--solaris/SolarisProcessList.c27
-rw-r--r--unsupported/UnsupportedProcessList.c3
46 files changed, 656 insertions, 277 deletions
diff --git a/Action.c b/Action.c
index 87901432..8a6e2cbe 100644
--- a/Action.c
+++ b/Action.c
@@ -65,13 +65,13 @@ Object* Action_pickFromVector(State* st, Panel* list, int x, bool followProcess)
Process* selected = (Process*)Panel_getSelected(panel);
if (selected && selected->pid == pid)
return Panel_getSelected(list);
- else
- beep();
+
+ beep();
} else {
return Panel_getSelected(list);
}
-
}
+
return NULL;
}
@@ -93,7 +93,7 @@ static void Action_runSetup(State* st) {
static bool changePriority(MainPanel* panel, int delta) {
bool anyTagged;
- bool ok = MainPanel_foreachProcess(panel, Process_changePriorityBy, (Arg){ .i = delta }, &anyTagged);
+ bool ok = MainPanel_foreachProcess(panel, Process_changePriorityBy, (Arg) { .i = delta }, &anyTagged);
if (!ok)
beep();
return anyTagged;
@@ -128,14 +128,18 @@ static void tagAllChildren(Panel* panel, Process* parent) {
static bool expandCollapse(Panel* panel) {
Process* p = (Process*) Panel_getSelected(panel);
- if (!p) return false;
+ if (!p)
+ return false;
+
p->showChildren = !p->showChildren;
return true;
}
static bool collapseIntoParent(Panel* panel) {
Process* p = (Process*) Panel_getSelected(panel);
- if (!p) return false;
+ if (!p)
+ return false;
+
pid_t ppid = Process_getParentPid(p);
for (int i = 0; i < Panel_size(panel); i++) {
Process* q = (Process*) Panel_get(panel, i);
@@ -165,6 +169,7 @@ static Htop_Reaction sortBy(State* st) {
Panel_add(sortPanel, (Object*) ListItem_new(name, fields[i]));
if (fields[i] == st->settings->sortKey)
Panel_setSelected(sortPanel, i);
+
free(name);
}
ListItem* field = (ListItem*) Action_pickFromVector(st, sortPanel, 15, false);
@@ -172,8 +177,10 @@ static Htop_Reaction sortBy(State* st) {
reaction |= Action_setSortKey(st->settings, field->key);
}
Object_delete(sortPanel);
+
if (st->pauseProcessUpdate)
ProcessList_sort(st->pl);
+
return reaction | HTOP_REFRESH | HTOP_REDRAW_BAR | HTOP_UPDATE_PANELHDR;
}
@@ -215,7 +222,10 @@ static Htop_Reaction actionToggleProgramPath(State* st) {
static Htop_Reaction actionToggleTreeView(State* st) {
st->settings->treeView = !st->settings->treeView;
- if (st->settings->treeView) st->settings->direction = 1;
+ if (st->settings->treeView) {
+ st->settings->direction = 1;
+ }
+
ProcessList_expandTree(st->pl);
return HTOP_REFRESH | HTOP_SAVE_SETTINGS | HTOP_KEEP_FOLLOWING | HTOP_REDRAW_BAR | HTOP_UPDATE_PANELHDR;
}
@@ -286,13 +296,18 @@ static Htop_Reaction actionQuit(ATTR_UNUSED State* st) {
static Htop_Reaction actionSetAffinity(State* st) {
if (st->pl->cpuCount == 1)
return HTOP_OK;
+
#if (defined(HAVE_LIBHWLOC) || defined(HAVE_LINUX_AFFINITY))
Panel* panel = st->panel;
Process* p = (Process*) Panel_getSelected(panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
Affinity* affinity1 = Affinity_get(p, st->pl);
- if (!affinity1) return HTOP_OK;
+ if (!affinity1)
+ return HTOP_OK;
+
int width;
Panel* affinityPanel = AffinityPanel_new(st->pl, affinity1, &width);
width += 1; /* we add a gap between the panels */
@@ -301,8 +316,9 @@ static Htop_Reaction actionSetAffinity(State* st) {
void* set = Action_pickFromVector(st, affinityPanel, width, true);
if (set) {
Affinity* affinity2 = AffinityPanel_getAffinity(affinityPanel, st->pl);
- bool ok = MainPanel_foreachProcess((MainPanel*)panel, Affinity_set, (Arg){ .v = affinity2 }, NULL);
- if (!ok) beep();
+ bool ok = MainPanel_foreachProcess((MainPanel*)panel, Affinity_set, (Arg) { .v = affinity2 }, NULL);
+ if (!ok)
+ beep();
Affinity_delete(affinity2);
}
Object_delete(affinityPanel);
@@ -318,7 +334,7 @@ static Htop_Reaction actionKill(State* st) {
Panel_setHeader(st->panel, "Sending...");
Panel_draw(st->panel, true);
refresh();
- MainPanel_foreachProcess((MainPanel*)st->panel, Process_sendSignal, (Arg){ .i = sgn->key }, NULL);
+ MainPanel_foreachProcess((MainPanel*)st->panel, Process_sendSignal, (Arg) { .i = sgn->key }, NULL);
napms(500);
}
}
@@ -362,7 +378,9 @@ static Htop_Reaction actionSetup(State* st) {
static Htop_Reaction actionLsof(State* st) {
Process* p = (Process*) Panel_getSelected(st->panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
OpenFilesScreen* ofs = OpenFilesScreen_new(p);
InfoScreen_run((InfoScreen*)ofs);
OpenFilesScreen_delete((Object*)ofs);
@@ -373,7 +391,9 @@ static Htop_Reaction actionLsof(State* st) {
static Htop_Reaction actionStrace(State* st) {
Process* p = (Process*) Panel_getSelected(st->panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
TraceScreen* ts = TraceScreen_new(p);
bool ok = TraceScreen_forkTracer(ts);
if (ok) {
@@ -387,7 +407,9 @@ static Htop_Reaction actionStrace(State* st) {
static Htop_Reaction actionTag(State* st) {
Process* p = (Process*) Panel_getSelected(st->panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
Process_toggleTag(p);
Panel_onKey(st->panel, KEY_DOWN);
return HTOP_OK;
@@ -555,14 +577,18 @@ static Htop_Reaction actionUntagAll(State* st) {
static Htop_Reaction actionTagAllChildren(State* st) {
Process* p = (Process*) Panel_getSelected(st->panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
tagAllChildren(st->panel, p);
return HTOP_OK;
}
static Htop_Reaction actionShowEnvScreen(State* st) {
Process* p = (Process*) Panel_getSelected(st->panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
EnvScreen* es = EnvScreen_new(p);
InfoScreen_run((InfoScreen*)es);
EnvScreen_delete((Object*)es);
@@ -573,7 +599,9 @@ static Htop_Reaction actionShowEnvScreen(State* st) {
static Htop_Reaction actionShowCommandScreen(State* st) {
Process* p = (Process*) Panel_getSelected(st->panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
CommandScreen* cmdScr = CommandScreen_new(p);
InfoScreen_run((InfoScreen*)cmdScr);
CommandScreen_delete((Object*)cmdScr);
diff --git a/Affinity.c b/Affinity.c
index bfa7ceb5..6fb5846c 100644
--- a/Affinity.c
+++ b/Affinity.c
@@ -89,11 +89,14 @@ bool Affinity_set(Process* proc, Arg arg) {
Affinity* Affinity_get(Process* proc, ProcessList* pl) {
cpu_set_t cpuset;
bool ok = (sched_getaffinity(proc->pid, sizeof(cpu_set_t), &cpuset) == 0);
- if (!ok) return NULL;
+ if (!ok)
+ return NULL;
+
Affinity* affinity = Affinity_new(pl);
for (int i = 0; i < pl->cpuCount; i++) {
- if (CPU_ISSET(i, &cpuset))
+ if (CPU_ISSET(i, &cpuset)) {
Affinity_add(affinity, i);
+ }
}
return affinity;
}
diff --git a/AffinityPanel.c b/AffinityPanel.c
index 85094b4c..9c2a6e7c 100644
--- a/AffinityPanel.c
+++ b/AffinityPanel.c
@@ -60,12 +60,13 @@ static void MaskItem_display(const Object* cast, RichString* out) {
const MaskItem* this = (const MaskItem*)cast;
assert (this != NULL);
RichString_append(out, CRT_colors[CHECK_BOX], "[");
- if (this->value == 2)
+ if (this->value == 2) {
RichString_append(out, CRT_colors[CHECK_MARK], "x");
- else if (this->value == 1)
+ } else if (this->value == 1) {
RichString_append(out, CRT_colors[CHECK_MARK], "o");
- else
+ } else {
RichString_append(out, CRT_colors[CHECK_MARK], " ");
+ }
RichString_append(out, CRT_colors[CHECK_BOX], "]");
RichString_append(out, CRT_colors[CHECK_TEXT], " ");
if (this->indent) {
@@ -178,11 +179,12 @@ static void AffinityPanel_update(AffinityPanel* this, bool keepSelected) {
Panel_prune(super);
#ifdef HAVE_LIBHWLOC
- if (this->topoView)
+ if (this->topoView) {
AffinityPanel_updateTopo(this, this->topoRoot);
- else {
- for (int i = 0; i < Vector_size(this->cpuids); i++)
+ } else {
+ for (int i = 0; i < Vector_size(this->cpuids); i++) {
AffinityPanel_updateItem(this, (MaskItem*) Vector_get(this->cpuids, i));
+ }
}
#else
Panel_splice(super, this->cpuids);
@@ -304,14 +306,16 @@ static MaskItem* AffinityPanel_addObject(AffinityPanel* this, hwloc_obj_t obj, u
hwloc_bitmap_and(result, obj->complete_cpuset, this->workCpuset);
int weight = hwloc_bitmap_weight(result);
hwloc_bitmap_free(result);
- if (weight == 0 || weight == (hwloc_bitmap_weight(this->workCpuset) + hwloc_bitmap_weight(obj->complete_cpuset)))
+ if (weight == 0 || weight == (hwloc_bitmap_weight(this->workCpuset) + hwloc_bitmap_weight(obj->complete_cpuset))) {
item->sub_tree = 2;
+ }
}
/* "[x] " + "|- " * depth + ("- ")?(if root node) + name */
unsigned width = 4 + 3 * depth + (2 * !depth) + strlen(buf);
- if (width > this->width)
+ if (width > this->width) {
this->width = width;
+ }
return item;
}
@@ -323,8 +327,10 @@ static MaskItem* AffinityPanel_buildTopology(AffinityPanel* this, hwloc_obj_t ob
} else {
indent &= ~(1u << obj->depth);
}
- for (unsigned i = 0; i < obj->arity; i++)
+
+ for (unsigned i = 0; i < obj->arity; i++) {
AffinityPanel_buildTopology(this, obj->children[i], indent, item);
+ }
return parent == NULL ? item : NULL;
}
@@ -382,8 +388,9 @@ Panel* AffinityPanel_new(ProcessList* pl, Affinity* affinity, int* width) {
char number[16];
xSnprintf(number, 9, "CPU %d", Settings_cpuId(pl->settings, i));
unsigned cpu_width = 4 + strlen(number);
- if (cpu_width > this->width)
+ if (cpu_width > this->width) {
this->width = cpu_width;
+ }
bool isSet = false;
if (curCpu < affinity->used && affinity->cpus[curCpu] == i) {
@@ -402,8 +409,9 @@ Panel* AffinityPanel_new(ProcessList* pl, Affinity* affinity, int* width) {
this->topoRoot = AffinityPanel_buildTopology(this, hwloc_get_root_obj(pl->topology), 0, NULL);
#endif
- if (width)
+ if (width) {
*width = this->width;
+ }
AffinityPanel_update(this, false);
@@ -422,8 +430,9 @@ Affinity* AffinityPanel_getAffinity(Panel* super, ProcessList* pl) {
#else
for (int i = 0; i < this->pl->cpuCount; i++) {
MaskItem* item = (MaskItem*)Vector_get(this->cpuids, i);
- if (item->value)
+ if (item->value) {
Affinity_add(affinity, item->cpu);
+ }
}
#endif
diff --git a/CPUMeter.c b/CPUMeter.c
index b1bb8f45..ff129cd2 100644
--- a/CPUMeter.c
+++ b/CPUMeter.c
@@ -163,10 +163,13 @@ static void CPUMeterCommonInit(Meter* this, int ncol) {
for (int i = 0; i < count; i++) {
if (!meters[i])
meters[i] = Meter_new(this->pl, start + i + 1, (const MeterClass*) Class(CPUMeter));
+
Meter_init(meters[i]);
}
+
if (this->mode == 0)
this->mode = BAR_METERMODE;
+
int h = Meter_modes[this->mode]->h;
this->h = h * ((count + ncol - 1) / ncol);
}
diff --git a/CRT.c b/CRT.c
index 38ba9da3..08f1cef3 100644
--- a/CRT.c
+++ b/CRT.c
@@ -619,13 +619,18 @@ void CRT_init(int delay, int colorScheme, bool allowUnicode) {
keypad(stdscr, true);
mouseinterval(0);
curs_set(0);
- if (has_colors())
+
+ if (has_colors()) {
start_color();
+ }
+
CRT_termType = getenv("TERM");
- if (String_eq(CRT_termType, "linux"))
+ if (String_eq(CRT_termType, "linux")) {
CRT_scrollHAmount = 20;
- else
+ } else {
CRT_scrollHAmount = 5;
+ }
+
if (String_startsWith(CRT_termType, "xterm") || String_eq(CRT_termType, "vt220")) {
define_key("\033[H", KEY_HOME);
define_key("\033[F", KEY_END);
@@ -670,10 +675,11 @@ void CRT_init(int delay, int colorScheme, bool allowUnicode) {
setlocale(LC_CTYPE, "");
#ifdef HAVE_LIBNCURSESW
- if (allowUnicode && String_eq(nl_langinfo(CODESET), "UTF-8"))
+ if (allowUnicode && String_eq(nl_langinfo(CODESET), "UTF-8")) {
CRT_utf8 = true;
- else
+ } else {
CRT_utf8 = false;
+ }
#else
(void) allowUnicode;
#endif
diff --git a/CategoriesPanel.c b/CategoriesPanel.c
index d6c25a69..2dc1c3bf 100644
--- a/CategoriesPanel.c
+++ b/CategoriesPanel.c
@@ -97,6 +97,7 @@ static HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) {
int size = ScreenManager_size(this->scr);
for (int i = 1; i < size; i++)
ScreenManager_remove(this->scr, 1);
+
switch (selected) {
case 0:
CategoriesPanel_makeMetersPage(this);
diff --git a/CheckItem.c b/CheckItem.c
index 5c79ab13..5fcae96b 100644
--- a/CheckItem.c
+++ b/CheckItem.c
@@ -26,10 +26,11 @@ static void CheckItem_display(const Object* cast, RichString* out) {
const CheckItem* this = (const CheckItem*)cast;
assert (this != NULL);
RichString_write(out, CRT_colors[CHECK_BOX], "[");
- if (CheckItem_get(this))
+ if (CheckItem_get(this)) {
RichString_append(out, CRT_colors[CHECK_MARK], "x");
- else
+ } else {
RichString_append(out, CRT_colors[CHECK_MARK], " ");
+ }
RichString_append(out, CRT_colors[CHECK_BOX], "] ");
RichString_append(out, CRT_colors[CHECK_TEXT], this->text);
}
@@ -56,15 +57,17 @@ CheckItem* CheckItem_newByVal(char* text, bool value) {
}
void CheckItem_set(CheckItem* this, bool value) {
- if (this->ref)
+ if (this->ref) {
*(this->ref) = value;
- else
+ } else {
this->value = value;
+ }
}
bool CheckItem_get(const CheckItem* this) {
- if (this->ref)
+ if (this->ref) {
return *(this->ref);
- else
+ } else {
return this->value;
+ }
}
diff --git a/ColorsPanel.c b/ColorsPanel.c
index 24e63b0e..9da71545 100644
--- a/ColorsPanel.c
+++ b/ColorsPanel.c
@@ -64,6 +64,7 @@ static HandlerResult ColorsPanel_eventHandler(Panel* super, int ch) {
for (int i = 0; ColorSchemeNames[i] != NULL; i++)
CheckItem_set((CheckItem*)Panel_get(super, i), false);
CheckItem_set((CheckItem*)Panel_get(super, mark), true);
+
this->settings->colorScheme = mark;
result = HANDLED;
}
diff --git a/CommandScreen.c b/CommandScreen.c
index 7997a64a..578b3ae1 100644
--- a/CommandScreen.c
+++ b/CommandScreen.c
@@ -21,7 +21,9 @@ static void CommandScreen_scan(InfoScreen* this) {
int line_offset = 0, last_spc = -1, len;
for (; *p != '\0'; p++, line_offset++) {
line[line_offset] = *p;
- if (*p == ' ') last_spc = line_offset;
+ if (*p == ' ') {
+ last_spc = line_offset;
+ }
if (line_offset == COLS) {
len = (last_spc == -1) ? line_offset : last_spc;
diff --git a/FunctionBar.c b/FunctionBar.c
index 93456583..627bc777 100644
--- a/FunctionBar.c
+++ b/FunctionBar.c
@@ -106,10 +106,11 @@ void FunctionBar_drawExtra(const FunctionBar* this, const char* buffer, int attr
}
if (buffer) {
- if (attr == -1)
+ if (attr == -1) {
attrset(CRT_colors[FUNCTION_BAR]);
- else
+ } else {
attrset(attr);
+ }
mvaddstr(LINES - 1, x, buffer);
attrset(CRT_colors[RESET_COLOR]);
x += strlen(buffer);
@@ -126,10 +127,11 @@ void FunctionBar_drawExtra(const FunctionBar* this, const char* buffer, int attr
}
void FunctionBar_append(const char* buffer, int attr) {
- if (attr == -1)
+ if (attr == -1) {
attrset(CRT_colors[FUNCTION_BAR]);
- else
+ } else {
attrset(attr);
+ }
mvaddstr(LINES - 1, currentLen, buffer);
attrset(CRT_colors[RESET_COLOR]);
diff --git a/Hashtable.c b/Hashtable.c
index a086227c..92337822 100644
--- a/Hashtable.c
+++ b/Hashtable.c
@@ -70,6 +70,7 @@ void Hashtable_delete(Hashtable* this) {
while (walk != NULL) {
if (this->owner)
free(walk->value);
+
HashtableItem* savedWalk = walk;
walk = savedWalk->next;
free(savedWalk);
@@ -90,10 +91,13 @@ void Hashtable_put(Hashtable* this, unsigned int key, void* value) {
} else if ((*bucketPtr)->key == key) {
if (this->owner && (*bucketPtr)->value != value)
free((*bucketPtr)->value);
+
(*bucketPtr)->value = value;
break;
- } else
+ } else {
bucketPtr = &((*bucketPtr)->next);
+ }
+
assert(Hashtable_isConsistent(this));
}
@@ -134,8 +138,9 @@ void* Hashtable_get(Hashtable* this, unsigned int key) {
} else if (bucketPtr->key == key) {
assert(Hashtable_isConsistent(this));
return bucketPtr->value;
- } else
+ } else {
bucketPtr = bucketPtr->next;
+ }
}
}
diff --git a/Header.c b/Header.c
index 4448baa6..0b522f54 100644
--- a/Header.c
+++ b/Header.c
@@ -88,7 +88,8 @@ MeterModeId Header_addMeterByName(Header* this, char* name, int column) {
int param = 0;
if (paren) {
int ok = sscanf(paren, "(%10d)", &param);
- if (!ok) param = 0;
+ if (!ok)
+ param = 0;
*paren = '\0';
}
MeterModeId mode = TEXT_METERMODE;
@@ -100,8 +101,10 @@ MeterModeId Header_addMeterByName(Header* this, char* name, int column) {
break;
}
}
+
if (paren)
*paren = '(';
+
return mode;
}
@@ -110,6 +113,7 @@ void Header_setMode(Header* this, int i, MeterModeId mode, int column) {
if (i >= Vector_size(meters))
return;
+
Meter* meter = (Meter*) Vector_get(meters, i);
Meter_setMode(meter, mode);
}
@@ -153,8 +157,9 @@ void Header_reinit(Header* this) {
Header_forEachColumn(this, col) {
for (int i = 0; i < Vector_size(this->columns[col]); i++) {
Meter* meter = (Meter*) Vector_get(this->columns[col], i);
- if (Meter_initFn(meter))
+ if (Meter_initFn(meter)) {
Meter_init(meter);
+ }
}
}
}
diff --git a/IncSet.c b/IncSet.c
index 3deda737..d280caf4 100644
--- a/IncSet.c
+++ b/IncSet.c
@@ -79,7 +79,10 @@ static void updateWeakPanel(IncSet* this, Panel* panel, Vector* lines) {
ListItem* line = (ListItem*)Vector_get(lines, i);
if (String_contains_i(line->value, incFilter)) {
Panel_add(panel, (Object*)line);
- if (selected == (Object*)line) Panel_setSelected(panel, n);
+ if (selected == (Object*)line) {
+ Panel_setSelected(panel, n);
+ }
+
n++;
}
}
@@ -87,7 +90,9 @@ static void updateWeakPanel(IncSet* this, Panel* panel, Vector* lines) {
for (int i = 0; i < Vector_size(lines); i++) {
Object* line = Vector_get(lines, i);
Panel_add(panel, line);
- if (selected == line) Panel_setSelected(panel, i);
+ if (selected == line) {
+ Panel_setSelected(panel, i);
+ }
}
}
}
@@ -115,10 +120,17 @@ static bool IncMode_find(IncMode* mode, Panel* panel, IncMode_GetPanelValue getP
int here = Panel_getSelectedIndex(panel);
int i = here;
for (;;) {
- i+=step;
- if (i == size) i = 0;
- if (i == -1) i = size - 1;
- if (i == here) return false;
+ i += step;
+ if (i == size) {
+ i = 0;
+ }
+ if (i == -1) {
+ i = size - 1;
+ }
+ if (i == here) {
+ return false;
+ }
+
if (String_contains_i(getPanelValue(panel, i), mode->buffer)) {
Panel_setSelected(panel, i);
return true;
@@ -137,12 +149,15 @@ bool IncSet_prev(IncSet* this, IncType type, Panel* panel, IncMode_GetPanelValue
bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue getPanelValue, Vector* lines) {
if (ch == ERR)
return true;
+
IncMode* mode = this->active;
int size = Panel_size(panel);
bool filterChanged = false;
bool doSearch = true;
if (ch == KEY_F(3)) {
- if (size == 0) return true;
+ if (size == 0)
+ return true;
+
IncMode_find(mode, panel, getPanelValue, 1);
doSearch = false;
} else if (0 < ch && ch < 255 && isprint((unsigned char)ch)) {
@@ -152,7 +167,9 @@ bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue
mode->buffer[mode->index] = 0;
if (mode->isFilter) {
filterChanged = true;
- if (mode->index == 1) this->filtering = true;
+ if (mode->index == 1) {
+ this->filtering = true;
+ }
}
}
} else if ((ch == KEY_BACKSPACE || ch == 127)) {
@@ -199,9 +216,7 @@ bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue
const char* IncSet_getListItemValue(Panel* panel, int i) {
ListItem* l = (ListItem*) Panel_get(panel, i);
- if (l)
- return l->value;
- return "";
+ return l ? l->value : "";
}
void IncSet_activate(IncSet* this, IncType type, Panel* panel) {
diff --git a/InfoScreen.c b/InfoScreen.c
index 102f0ba7..b7cbd4c6 100644
--- a/InfoScreen.c
+++ b/InfoScreen.c
@@ -64,16 +64,18 @@ void InfoScreen_drawTitled(InfoScreen* this, const char* fmt, ...) {
void InfoScreen_addLine(InfoScreen* this, const char* line) {
Vector_add(this->lines, (Object*) ListItem_new(line, 0));
const char* incFilter = IncSet_filter(this->inc);
- if (!incFilter || String_contains_i(line, incFilter))
+ if (!incFilter || String_contains_i(line, incFilter)) {
Panel_add(this->display, Vector_get(this->lines, Vector_size(this->lines) - 1));
+ }
}
void InfoScreen_appendLine(InfoScreen* this, const char* line) {
ListItem* last = (ListItem*)Vector_get(this->lines, Vector_size(this->lines) - 1);
ListItem_append(last, line);
const char* incFilter = IncSet_filter(this->inc);
- if (incFilter && Panel_get(this->display, Panel_size(this->display) - 1) != (Object*)last && String_contains_i(line, incFilter))
+ if (incFilter && Panel_get(this->display, Panel_size(this->display) - 1) != (Object*)last && String_contains_i(line, incFilter)) {
Panel_add(this->display, (Object*)last);
+ }
}
void InfoScreen_run(InfoScreen* this) {
@@ -133,7 +135,9 @@ void InfoScreen_run(InfoScreen* this) {
break;
case KEY_F(5):
clear();
- if (As_InfoScreen(this)->scan) InfoScreen_scan(this);
+ if (As_InfoScreen(this)->scan)
+ InfoScreen_scan(this);
+
InfoScreen_draw(this);
break;
case '\014': // Ctrl+L
@@ -149,6 +153,7 @@ void InfoScreen_run(InfoScreen* this) {
Panel_resize(panel, COLS, LINES - 2);
if (As_InfoScreen(this)->scan)
InfoScreen_scan(this);
+
InfoScreen_draw(this);
break;
default:
diff --git a/MainPanel.c b/MainPanel.c
index 9322fe02..be59abd3 100644
--- a/MainPanel.c
+++ b/MainPanel.c
@@ -100,8 +100,9 @@ static HandlerResult MainPanel_eventHandler(Panel* super, int ch) {
if (reaction & HTOP_REDRAW_BAR) {
MainPanel_updateTreeFunctions(this, this->state->settings->treeView);
IncSet_drawBar(this->inc);
- if (this->state->pauseProcessUpdate)
+ if (this->state->pauseProcessUpdate) {
FunctionBar_append("PAUSED", CRT_colors[PAUSED]);
+ }
}
if (reaction & HTOP_UPDATE_PANELHDR) {
ProcessList_printHeader(this->state->pl, Panel_getHeader(super));
@@ -135,9 +136,7 @@ int MainPanel_selectedPid(MainPanel* this) {
const char* MainPanel_getValue(MainPanel* this, int i) {
Process* p = (Process*) Panel_get((Panel*)this, i);
- if (p)
- return p->comm;
- return "";
+ return p ? p->comm : "";
}
bool MainPanel_foreachProcess(MainPanel* this, MainPanel_ForeachProcessFn fn, Arg arg, bool* wasAnyTagged) {
@@ -157,8 +156,10 @@ bool MainPanel_foreachProcess(MainPanel* this, MainPanel_ForeachProcessFn fn, Ar
ok &= fn(p, arg);
}
}
+
if (wasAnyTagged)
*wasAnyTagged = anyTagged;
+
return ok;
}
diff --git a/Meter.c b/Meter.c
index d17ba95a..cf8ccc52 100644
--- a/Meter.c
+++ b/Meter.c
@@ -41,8 +41,9 @@ Meter* Meter_new(const struct ProcessList_* pl, int param, const MeterClass* typ
this->values = type->maxItems ? xCalloc(type->maxItems, sizeof(double)) : NULL;
this->total = type->total;
this->caption = xStrdup(type->caption);
- if (Meter_initFn(this))
+ if (Meter_initFn(this)) {
Meter_init(this);
+ }
Meter_setMode(this, type->defaultMode);
return this;
}
@@ -81,6 +82,7 @@ int Meter_humanUnit(char* buffer, unsigned long int value, int size) {
void Meter_delete(Object* cast) {
if (!cast)
return;
+
Meter* this = (Meter*) cast;
if (Meter_doneFn(this)) {
Meter_done(this);
@@ -105,15 +107,20 @@ static inline void Meter_displayBuffer(const Meter* this, const char* buffer, Ri
}
void Meter_setMode(Meter* this, int modeIndex) {
- if (modeIndex > 0 && modeIndex == this->mode)
+ if (modeIndex > 0 && modeIndex == this->mode) {
return;
- if (!modeIndex)
+ }
+
+ if (!modeIndex) {
modeIndex = 1;
+ }
+
assert(modeIndex < LAST_METERMODE);
if (Meter_defaultMode(this) == CUSTOM_METERMODE) {
this->draw = Meter_drawFn(this);
- if (Meter_updateModeFn(this))
+ if (Meter_updateModeFn(this)) {
Meter_updateMode(this, modeIndex);
+ }
} else {
assert(modeIndex >= 1);
free(this->drawData);
@@ -128,15 +135,17 @@ void Meter_setMode(Meter* this, int modeIndex) {
ListItem* Meter_toListItem(Meter* this, bool moving) {
char mode[21];
- if (this->mode)
+ if (this->mode) {
xSnprintf(mode, 20, " [%s]", Meter_modes[this->mode]->uiName);
- else
+ } else {
mode[0] = '\0';
+ }
char number[11];
- if (this->param > 0)
+ if (this->param > 0) {
xSnprintf(number, 10, " %d", this->param);
- else
+ } else {
number[0] = '\0';
+ }
char buffer[51];
xSnprintf(buffer, 50, "%s%s%s", Meter_uiName(this), number, mode);
ListItem* li = ListItem_new(buffer, 0);
@@ -261,7 +270,9 @@ static int GraphMeterMode_pixPerRow;
static void GraphMeterMode_draw(Meter* this, int x, int y, int w) {
- if (!this->drawData) this->drawData = xCalloc(1, sizeof(GraphData));
+ if (!this->drawData) {
+ this->drawData = xCalloc(1, sizeof(GraphData));
+ }
GraphData* data = this->drawData;
const int nValues = METER_BUFFER_LEN;
diff --git a/Object.c b/Object.c
index 01b6c4ce..975c8d48 100644
--- a/Object.c
+++ b/Object.c
@@ -20,12 +20,16 @@ const ObjectClass Object_class = {
bool Object_isA(const Object* o, const ObjectClass* klass) {
if (!o)
return false;
+
const ObjectClass* type = o->klass;
while (type) {
- if (type == klass)
+ if (type == klass) {
return true;
+ }
+
type = type->extends;
}
+
return false;
}
diff --git a/OpenFilesScreen.c b/OpenFilesScreen.c
index 829fafee..cd309648 100644
--- a/OpenFilesScreen.c
+++ b/OpenFilesScreen.c
@@ -69,10 +69,11 @@ static const char* getDataForType(const OpenFiles_Data* data, char type) {
OpenFilesScreen* OpenFilesScreen_new(const Process* process) {
OpenFilesScreen* this = xMalloc(sizeof(OpenFilesScreen));
Object_setClass(this, Class(OpenFilesScreen));
- if (Process_isThread(process))
+ if (Process_isThread(process)) {
this->pid = process->tgid;
- else
+ } else {
this->pid = process->pid;
+ }
return (OpenFilesScreen*) InfoScreen_init(&this->super, process, NULL, LINES - 3, " FD TYPE MODE DEVICE SIZE NODE NAME");
}
@@ -106,8 +107,10 @@ static OpenFiles_ProcessData* OpenFilesScreen_getProcessData(pid_t pid) {
dup2(fdpair[1], STDOUT_FILENO);
close(fdpair[1]);
int fdnull = open("/dev/null", O_WRONLY);
- if (fdnull < 0)
+ if (fdnull < 0) {
exit(1);
+ }
+
dup2(fdnull, STDERR_FILENO);
close(fdnull);
char buffer[32] = {0};
@@ -182,10 +185,11 @@ static OpenFiles_ProcessData* OpenFilesScreen_getProcessData(pid_t pid) {
return pdata;
}
- if (!WIFEXITED(wstatus))
+ if (!WIFEXITED(wstatus)) {
pdata->error = 1;
- else
+ } else {
pdata->error = WEXITSTATUS(wstatus);
+ }
return pdata;
}
diff --git a/Panel.c b/Panel.c
index 5e92c9c7..870f89cc 100644
--- a/Panel.c
+++ b/Panel.c
@@ -97,8 +97,10 @@ void Panel_move(Panel* this, int x, int y) {
void Panel_resize(Panel* this, int w, int h) {
assert (this != NULL);
- if (RichString_sizeVal(this->header) > 0)
+ if (RichString_sizeVal(this->header) > 0) {
h--;
+ }
+
this->w = w;
this->h = h;
this->needsRedraw = true;
@@ -145,33 +147,38 @@ Object* Panel_remove(Panel* this, int i) {
this->needsRedraw = true;
Object* removed = Vector_remove(this->items, i);
- if (this->selected > 0 && this->selected >= Vector_size(this->items))
+ if (this->selected > 0 && this->selected >= Vector_size(this->items)) {
this->selected--;
+ }
+
return removed;
}
Object* Panel_getSelected(Panel* this) {
assert (this != NULL);
- if (Vector_size(this->items) > 0)
+ if (Vector_size(this->items) > 0) {
return Vector_get(this->items, this->selected);
- else
+ } else {
return NULL;
+ }
}
void Panel_moveSelectedUp(Panel* this) {
assert (this != NULL);
Vector_moveUp(this->items, this->selected);
- if (this->selected > 0)
+ if (this->selected > 0) {
this->selected--;
+ }
}
void Panel_moveSelectedDown(Panel* this) {
assert (this != NULL);
Vector_moveDown(this->items, this->selected);
- if (this->selected + 1 < Vector_size(this->items))
+ if (this->selected + 1 < Vector_size(this->items)) {
this->selected++;
+ }
}
int Panel_getSelectedIndex(Panel* this) {
@@ -193,8 +200,9 @@ void Panel_setSelected(Panel* this, int selected) {
if (selected >= size) {
selected = size - 1;
}
- if (selected < 0)
+ if (selected < 0) {
selected = 0;
+ }
this->selected = selected;
if (Panel_eventHandlerFn(this)) {
Panel_eventHandler(this, EVENT_SET_SELECTED);
diff --git a/Process.c b/Process.c
index af7bf79d..72360e39 100644
--- a/Process.c
+++ b/Process.c
@@ -43,7 +43,9 @@ static char Process_titleBuffer[20][20];
void Process_setupColumnWidths() {
int maxPid = Platform_getMaxPid();
- if (maxPid == -1) return;
+ if (maxPid == -1)
+ return;
+
int digits = ceil(log10(maxPid));
assert(digits < 20);
for (int i = 0; Process_pidColumns[i].label; i++) {
@@ -201,10 +203,11 @@ static inline void Process_writeCommand(const Process* this, int attr, int basea
}
}
if (!finish) {
- if (this->settings->showProgramPath)
+ if (this->settings->showProgramPath) {
start += basename;
- else
+ } else {
comm += basename;
+ }
finish = this->basenameOffset - basename;
}
finish += start - 1;
@@ -212,8 +215,9 @@ static inline void Process_writeCommand(const Process* this, int attr, int basea
RichString_append(str, attr, comm);
- if (this->settings->highlightBaseName)
+ if (this->settings->highlightBaseName) {
RichString_setAttrn(str, baseattr, start, finish);
+ }
}
void Process_outputRate(RichString* str, char* buffer, int n, double rate, int coloring) {
@@ -285,15 +289,19 @@ void Process_writeField(const Process* this, RichString* str, ProcessField field
bool lastItem = (this->indent < 0);
int indent = (this->indent < 0 ? -this->indent : this->indent);
- for (int i = 0; i < 32; i++)
- if (indent & (1U << i))
+ for (int i = 0; i < 32; i++) {
+ if (indent & (1U << i)) {
maxIndent = i + 1;
+ }
+ }
+
for (int i = 0; i < maxIndent - 1; i++) {
int written, ret;
- if (indent & (1 << i))
+ if (indent & (1 << i)) {
ret = snprintf(buf, n, "%s ", CRT_treeStr[TREE_STR_VERT]);
- else
+ } else {
ret = snprintf(buf, n, " ");
+ }
if (ret < 0 || ret >= n) {
written = n;
} else {
@@ -377,10 +385,15 @@ void Process_display(const Object* cast, RichString* out) {
RichString_prune(out);
for (int i = 0; fields[i]; i++)
As_Process(this)->writeField(this, out, fields[i]);
- if (this->settings->shadowOtherUsers && (int)this->st_uid != Process_getuid)
+
+ if (this->settings->shadowOtherUsers && (int)this->st_uid != Process_getuid) {
RichString_setAttr(out, CRT_colors[PROCESS_SHADOW]);
- if (this->tag == true)
+ }
+
+ if (this->tag == true) {
RichString_setAttr(out, CRT_colors[PROCESS_TAG]);
+ }
+
assert(out->chlen > 0);
}
@@ -406,7 +419,10 @@ void Process_init(Process* this, const struct Settings_* settings) {
this->show = true;
this->updated = false;
this->basenameOffset = -1;
- if (Process_getuid == -1) Process_getuid = getuid();
+
+ if (Process_getuid == -1) {
+ Process_getuid = getuid();
+ }
}
void Process_toggleTag(Process* this) {
@@ -483,10 +499,11 @@ long Process_compare(const void* v1, const void* v2) {
case SESSION:
return (p1->session - p2->session);
case STARTTIME: {
- if (p1->starttime_ctime == p2->starttime_ctime)
+ if (p1->starttime_ctime == p2->starttime_ctime) {
return (p1->pid - p2->pid);
- else
+ } else {
return (p1->starttime_ctime - p2->starttime_ctime);
+ }
}
case STATE:
return (Process_sortState(p1->state) - Process_sortState(p2->state));
diff --git a/ProcessList.c b/ProcessList.c
index ff4aa9b3..2323c99a 100644
--- a/ProcessList.c
+++ b/ProcessList.c
@@ -70,11 +70,15 @@ void ProcessList_printHeader(ProcessList* this, RichString* header) {
const ProcessField* fields = this->settings->fields;
for (int i = 0; fields[i]; i++) {
const char* field = Process_fields[fields[i]].title;
- if (!field) field = "- ";
- if (!this->settings->treeView && this->settings->sortKey == fields[i])
+ if (!field) {
+ field = "- ";
+ }
+
+ if (!this->settings->treeView && this->settings->sortKey == fields[i]) {
RichString_append(header, CRT_colors[PANEL_SELECTION_FOCUS], field);
- else
+ } else {
RichString_append(header, CRT_colors[PANEL_HEADER_FOCUS], field);
+ }
}
}
@@ -93,12 +97,18 @@ void ProcessList_add(ProcessList* this, Process* p) {
void ProcessList_remove(ProcessList* this, Process* p) {
assert(Vector_indexOf(this->processes, p, Process_pidCompare) != -1);
assert(Hashtable_get(this->processTable, p->pid) != NULL);
+
Process* pp = Hashtable_remove(this->processTable, p->pid);
assert(pp == p); (void)pp;
+
unsigned int pid = p->pid;
int idx = Vector_indexOf(this->processes, p, Process_pidCompare);
assert(idx != -1);
- if (idx >= 0) Vector_remove(this->processes, idx);
+
+ if (idx >= 0) {
+ Vector_remove(this->processes, idx);
+ }
+
assert(Hashtable_get(this->processTable, pid) == NULL); (void)pid;
assert(Hashtable_count(this->processTable) == Vector_count(this->processes));
}
@@ -124,20 +134,27 @@ static void ProcessList_buildTree(ProcessList* this, pid_t pid, int level, int i
int size = Vector_size(children);
for (int i = 0; i < size; i++) {
Process* process = (Process*) (Vector_get(children, i));
- if (!show)
+ if (!show) {
process->show = false;
+ }
+
int s = Vector_size(this->processes2);
- if (direction == 1)
+ if (direction == 1) {
Vector_add(this->processes2, process);
- else
+ } else {
Vector_insert(this->processes2, 0, process);
+ }
+
assert(Vector_size(this->processes2) == s + 1); (void)s;
+
int nextIndent = indent | (1 << level);
ProcessList_buildTree(this, process->pid, level + 1, (i < size - 1) ? nextIndent : indent, direction, show ? process->showChildren : false);
- if (i == size - 1)
+
+ if (i == size - 1) {
process->indent = -nextIndent;
- else
+ } else {
process->indent = nextIndent;
+ }
}
Vector_delete(children);
}
@@ -180,6 +197,7 @@ void ProcessList_sort(ProcessList* this) {
// root.
if (process->pid == ppid)
r = 0;
+
while (l < r) {
int c = (l + r) / 2;
pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid;
@@ -219,7 +237,10 @@ ProcessField ProcessList_keyAt(ProcessList* this, int at) {
ProcessField field;
for (int i = 0; (field = fields[i]); i++) {
const char* title = Process_fields[field].title;
- if (!title) title = "- ";
+ if (!title) {
+ title = "- ";
+ }
+
int len = strlen(title);
if (at >= x && at <= x + len) {
return field;
@@ -306,9 +327,10 @@ void ProcessList_scan(ProcessList* this, bool pauseProcessUpdate) {
for (int i = Vector_size(this->processes) - 1; i >= 0; i--) {
Process* p = (Process*) Vector_get(this->processes, i);
- if (p->updated == false)
+ if (p->updated == false) {
ProcessList_remove(this, p);
- else
+ } else {
p->updated = false;
+ }
}
}
diff --git a/RichString.c b/RichString.c
index 99c535b1..904b44b6 100644
--- a/RichString.c
+++ b/RichString.c
@@ -52,6 +52,7 @@ static inline void RichString_writeFrom(RichString* this, int attrs, const char*
len = mbstowcs(data, data_c, len);
if (len < 0)
return;
+
int newLen = from + len;
RichString_setLen(this, newLen);
for (int i = from, j = 0; i < newLen; i++, j++) {
@@ -84,8 +85,9 @@ int RichString_findChar(RichString* this, char c, int start) {
static inline void RichString_writeFrom(RichString* this, int attrs, const char* data_c, int from, int len) {
int newLen = from + len;
RichString_setLen(this, newLen);
- for (int i = from, j = 0; i < newLen; i++, j++)
+ for (int i = from, j = 0; i < newLen; i++, j++) {
this->chptr[i] = (data_c[j] >= 32 ? data_c[j] : '?') | attrs;
+ }
this->chptr[newLen] = 0;
}
diff --git a/ScreenManager.c b/ScreenManager.c
index f586d04a..b8e1713a 100644
--- a/ScreenManager.c
+++ b/ScreenManager.c
@@ -103,8 +103,12 @@ static void checkRecalculation(ScreenManager* this, double* oldTime, int* sortTi
gettimeofday(&tv, NULL);
double newTime = ((double)tv.tv_sec * 10) + ((double)tv.tv_usec / 100000);
*timedOut = (newTime - *oldTime > this->settings->delay);
- *rescan = *rescan || *timedOut;
- if (newTime < *oldTime) *rescan = true; // clock was adjusted?
+ *rescan |= *timedOut;
+
+ if (newTime < *oldTime) {
+ *rescan = true; // clock was adjusted?
+ }
+
if (*rescan) {
*oldTime = newTime;
ProcessList_scan(pl, this->state->pauseProcessUpdate);
@@ -134,8 +138,9 @@ static void ScreenManager_drawPanels(ScreenManager* this, int focus) {
static Panel* setCurrentPanel(const ScreenManager* this, Panel* panel) {
FunctionBar_draw(panel->currentBar);
- if (panel == this->state->panel && this->state->pauseProcessUpdate)
+ if (panel == this->state->panel && this->state->pauseProcessUpdate) {
FunctionBar_append("PAUSED", CRT_colors[PAUSED]);
+ }
return panel;
}
@@ -218,8 +223,9 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
if (closeTimeout == 100) {
break;
}
- } else
+ } else {
closeTimeout = 0;
+ }
redraw = false;
continue;
}
@@ -261,14 +267,21 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
if (this->panelCount < 2) {
goto defaultHandler;
}
- if (!this->allowFocusChange)
+
+ if (!this->allowFocusChange) {
break;
- tryLeft:
- if (focus > 0)
+ }
+
+tryLeft:
+ if (focus > 0) {
focus--;
+ }
+
panelFocus = setCurrentPanel(this, (Panel*) Vector_get(this->panels, focus));
- if (Panel_size(panelFocus) == 0 && focus > 0)
+ if (Panel_size(panelFocus) == 0 && focus > 0) {
goto tryLeft;
+ }
+
break;
case KEY_RIGHT:
case KEY_CTRL('F'):
@@ -276,14 +289,20 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
if (this->panelCount < 2) {
goto defaultHandler;
}
- if (!this->allowFocusChange)
+ if (!this->allowFocusChange) {
break;
- tryRight:
- if (focus < this->panelCount - 1)
+ }
+
+tryRight:
+ if (focus < this->panelCount - 1) {
focus++;
+ }
+
panelFocus = setCurrentPanel(this, (Panel*) Vector_get(this->panels, focus));
- if (Panel_size(panelFocus) == 0 && focus < this->panelCount - 1)
+ if (Panel_size(panelFocus) == 0 && focus < this->panelCount - 1) {
goto tryRight;
+ }
+
break;
case KEY_F(10):
case 'q':
@@ -291,15 +310,18 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
quit = true;
continue;
default:
- defaultHandler:
+defaultHandler:
sortTimeout = resetSortTimeout;
Panel_onKey(panelFocus, ch);
break;
}
}
- if (lastFocus)
+ if (lastFocus) {
*lastFocus = panelFocus;
- if (lastKey)
+ }
+
+ if (lastKey) {
*lastKey = ch;
+ }
}
diff --git a/Settings.c b/Settings.c
index 2e274e94..1ecee569 100644
--- a/Settings.c
+++ b/Settings.c
@@ -116,6 +116,7 @@ static bool Settings_read(Settings* this, const char* fileName, int initialCpuCo
CRT_restorePrivileges();
if (!fd)
return false;
+
bool didReadMeters = false;
bool didReadFields = false;
for (;;) {
@@ -182,8 +183,9 @@ static bool Settings_read(Settings* this, const char* fileName, int initialCpuCo
this->delay = atoi(option[1]);
} else if (String_eq(option[0], "color_scheme")) {
this->colorScheme = atoi(option[1]);
- if (this->colorScheme < 0 || this->colorScheme >= LAST_COLORSCHEME)
+ if (this->colorScheme < 0 || this->colorScheme >= LAST_COLORSCHEME) {
this->colorScheme = 0;
+ }
} else if (String_eq(option[0], "enable_mouse")) {
this->enableMouse = atoi(option[1]);
} else if (String_eq(option[0], "left_meters")) {
@@ -327,7 +329,9 @@ Settings* Settings_new(int initialCpuCount) {
this->filename = xStrdup(rcfile);
} else {
const char* home = getenv("HOME");
- if (!home) home = "";
+ if (!home)
+ home = "";
+
const char* xdgConfigHome = getenv("XDG_CONFIG_HOME");
char* configDir = NULL;
char* htopDir = NULL;
@@ -363,8 +367,9 @@ Settings* Settings_new(int initialCpuCount) {
ok = Settings_read(this, legacyDotfile, initialCpuCount);
if (ok) {
// Transition to new location and delete old configuration file
- if (Settings_write(this))
+ if (Settings_write(this)) {
unlink(legacyDotfile);
+ }
}
free(legacyDotfile);
}
@@ -389,8 +394,9 @@ Settings* Settings_new(int initialCpuCount) {
}
void Settings_invertSortOrder(Settings* this) {
- if (this->direction == 1)
+ if (this->direction == 1) {
this->direction = -1;
- else
+ } else {
this->direction = 1;
+ }
}
diff --git a/TraceScreen.c b/TraceScreen.c
index 7346a0f8..b1277488 100644
--- a/TraceScreen.c
+++ b/TraceScreen.c
@@ -61,8 +61,11 @@ void TraceScreen_delete(Object* cast) {
kill(this->child, SIGTERM);
waitpid(this->child, NULL, 0);
}
- if (this->strace)
+
+ if (this->strace) {
fclose(this->strace);
+ }
+
CRT_enableDelay();
free(InfoScreen_done((InfoScreen*)this));
}
@@ -144,9 +147,11 @@ void TraceScreen_updateTrace(InfoScreen* super) {
tv.tv_sec = 0;
tv.tv_usec = 500;
int ready = select(fd_strace + 1, &fds, NULL, NULL, &tv);
+
size_t nread = 0;
if (ready > 0 && FD_ISSET(fd_strace, &fds))
nread = fread(buffer, 1, sizeof(buffer) - 1, this->strace);
+
if (nread && this->tracing) {
const char* line = buffer;
buffer[nread] = '\0';
@@ -167,8 +172,9 @@ void TraceScreen_updateTrace(InfoScreen* super) {
buffer[nread] = '\0';
this->contLine = true;
}
- if (this->follow)
- Panel_setSelected(this->super.display, Panel_size(this->super.display)-1);
+ if (this->follow) {
+ Panel_setSelected(this->super.display, Panel_size(this->super.display) - 1);
+ }
}
}
diff --git a/Vector.c b/Vector.c
index eb80e145..09d1612e 100644
--- a/Vector.c
+++ b/Vector.c
@@ -17,8 +17,10 @@ in the source distribution for its full text.
Vector* Vector_new(const ObjectClass* type, bool owner, int size) {
Vector* this;
- if (size == DEFAULT_SIZE)
+ if (size == DEFAULT_SIZE) {
size = 10;
+ }
+
assert(size > 0);
this = xMalloc(sizeof(Vector));
this->growthRate = size;
@@ -32,9 +34,11 @@ Vector* Vector_new(const ObjectClass* type, bool owner, int size) {
void Vector_delete(Vector* this) {
if (this->owner) {
- for (int i = 0; i < this->items; i++)
- if (this->array[i])
+ for (int i = 0; i < this->items; i++) {
+ if (this->array[i]) {
Object_delete(this->array[i]);
+ }
+ }
}
free(this->array);
free(this);
@@ -45,9 +49,11 @@ void Vector_delete(Vector* this) {
static bool Vector_isConsistent(const Vector* this) {
assert(this->items <= this->arraySize);
if (this->owner) {
- for (int i = 0; i < this->items; i++)
- if (this->array[i] && !Object_isA(this->array[i], this->type))
+ for (int i = 0; i < this->items; i++) {
+ if (this->array[i] && !Object_isA(this->array[i], this->type)) {
return false;
+ }
+ }
return true;
} else {
return true;
@@ -57,8 +63,9 @@ static bool Vector_isConsistent(const Vector* this) {
int Vector_count(const Vector* this) {
int items = 0;
for (int i = 0; i < this->items; i++) {
- if (this->array[i])
+ if (this->array[i]) {
items++;
+ }
}
assert(items == this->items);
return items;
@@ -230,15 +237,18 @@ Object* Vector_remove(Vector* this, int idx) {
if (this->owner) {
Object_delete(removed);
return NULL;
- } else
+ } else {
return removed;
+ }
}
void Vector_moveUp(Vector* this, int idx) {
assert(idx >= 0 && idx < this->items);
assert(Vector_isConsistent(this));
+
if (idx == 0)
return;
+
Object* temp = this->array[idx];
this->array[idx] = this->array[idx - 1];
this->array[idx - 1] = temp;
@@ -247,8 +257,10 @@ void Vector_moveUp(Vector* this, int idx) {
void Vector_moveDown(Vector* this, int idx) {
assert(idx >= 0 && idx < this->items);
assert(Vector_isConsistent(this));
+
if (idx == this->items - 1)
return;
+
Object* temp = this->array[idx];
this->array[idx] = this->array[idx + 1];
this->array[idx + 1] = temp;
@@ -307,8 +319,9 @@ int Vector_indexOf(const Vector* this, const void* search_, Object_Compare compa
for (int i = 0; i < this->items; i++) {
const Object* o = this->array[i];
assert(o);
- if (compare(search, o) == 0)
+ if (compare(search, o) == 0) {
return i;
+ }
}
return -1;
}
@@ -321,6 +334,7 @@ void Vector_splice(Vector* this, Vector* from) {
int olditems = this->items;
this->items += from->items;
Vector_checkArraySize(this);
- for (int j = 0; j < from->items; j++)
+ for (int j = 0; j < from->items; j++) {
this->array[olditems + j] = from->array[j];
+ }
}
diff --git a/darwin/DarwinProcessList.c b/darwin/DarwinProcessList.c
index 673d9e61..99f49d5c 100644
--- a/darwin/DarwinProcessList.c
+++ b/darwin/DarwinProcessList.c
@@ -110,15 +110,18 @@ struct kinfo_proc* ProcessList_getKInfoProcs(size_t* count) {
* process entry or two.
*/
*count = 0;
- if (sysctl(mib, 4, NULL, count, NULL, 0) < 0)
+ if (sysctl(mib, 4, NULL, count, NULL, 0) < 0) {
CRT_fatalError("Unable to get size of kproc_infos");
+ }
processes = xMalloc(*count);
- if (processes == NULL)
+ if (processes == NULL) {
CRT_fatalError("Out of memory for kproc_infos");
+ }
- if (sysctl(mib, 4, processes, count, NULL, 0) < 0)
+ if (sysctl(mib, 4, processes, count, NULL, 0) < 0) {
CRT_fatalError("Unable to get kinfo_procs");
+ }
*count = *count / sizeof(struct kinfo_proc);
diff --git a/dragonflybsd/Battery.c b/dragonflybsd/Battery.c
index 4bae3aa5..1a690ee3 100644
--- a/dragonflybsd/Battery.c
+++ b/dragonflybsd/Battery.c
@@ -14,15 +14,17 @@ in the source distribution for its full text.
void Battery_getData(double* level, ACPresence* isOnAC) {
int life;
size_t life_len = sizeof(life);
- if (sysctlbyname("hw.acpi.battery.life", &life, &life_len, NULL, 0) == -1)
+ if (sysctlbyname("hw.acpi.battery.life", &life, &life_len, NULL, 0) == -1) {
*level = NAN;
- else
+ } else {
*level = life;
+ }
int acline;
size_t acline_len = sizeof(acline);
- if (sysctlbyname("hw.acpi.acline", &acline, &acline_len, NULL, 0) == -1)
+ if (sysctlbyname("hw.acpi.acline", &acline, &acline_len, NULL, 0) == -1) {
*isOnAC = AC_ERROR;
- else
+ } else {
*isOnAC = acline == 0 ? AC_ABSENT : AC_PRESENT;
+ }
}
diff --git a/dragonflybsd/DragonFlyBSDProcess.c b/dragonflybsd/DragonFlyBSDProcess.c
index 457a488a..bd209327 100644
--- a/dragonflybsd/DragonFlyBSDProcess.c
+++ b/dragonflybsd/DragonFlyBSDProcess.c
@@ -131,8 +131,9 @@ long DragonFlyBSDProcess_compare(const void* v1, const void* v2) {
bool Process_isThread(const Process* this) {
const DragonFlyBSDProcess* fp = (const DragonFlyBSDProcess*) this;
- if (fp->kernel == 1 )
+ if (fp->kernel == 1 ) {
return 1;
- else
+ } else {
return (Process_isUserlandThread(this));
+ }
}
diff --git a/dragonflybsd/DragonFlyBSDProcessList.c b/dragonflybsd/DragonFlyBSDProcessList.c
index d3acf73d..b66dc0e8 100644
--- a/dragonflybsd/DragonFlyBSDProcessList.c
+++ b/dragonflybsd/DragonFlyBSDProcessList.c
@@ -123,7 +123,9 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidMatchList, ui
void ProcessList_delete(ProcessList* this) {
const DragonFlyBSDProcessList* dfpl = (DragonFlyBSDProcessList*) this;
- if (dfpl->kd) kvm_close(dfpl->kd);
+ if (dfpl->kd) {
+ kvm_close(dfpl->kd);
+ }
if (dfpl->jails) {
Hashtable_delete(dfpl->jails);
@@ -199,7 +201,9 @@ static inline void DragonFlyBSDProcessList_scanCPUTime(ProcessList* pl) {
// totals
total_d = total_n - total_o;
- if (total_d < 1 ) total_d = 1;
+ if (total_d < 1 ) {
+ total_d = 1;
+ }
// save current state as old and calc percentages
for (int s = 0; s < CPUSTATES; ++s) {
@@ -331,8 +335,9 @@ retry:
int jailid;
char* str_hostname;
nextpos = strchr(curpos, '\n');
- if (nextpos)
+ if (nextpos) {
*nextpos++ = 0;
+ }
jailid = atoi(strtok(curpos, " "));
str_hostname = strtok(NULL, " ");
@@ -372,8 +377,9 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
DragonFlyBSDProcessList_scanJails(dfpl);
// in pause mode only gather global data for meters (CPU/memory/...)
- if (pauseProcessUpdate)
+ if (pauseProcessUpdate) {
return;
+ }
int count = 0;
diff --git a/dragonflybsd/Platform.c b/dragonflybsd/Platform.c
index 5e9fe335..5f9f6373 100644
--- a/dragonflybsd/Platform.c
+++ b/dragonflybsd/Platform.c
@@ -177,7 +177,9 @@ double Platform_setCPUValues(Meter* this, int cpu) {
}
percent = CLAMP(percent, 0.0, 100.0);
- if (isnan(percent)) percent = 0.0;
+ if (isnan(percent)) {
+ percent = 0.0;
+ }
v[CPU_METER_FREQUENCY] = NAN;
diff --git a/freebsd/Battery.c b/freebsd/Battery.c
index 50691c8b..26b42da9 100644
--- a/freebsd/Battery.c
+++ b/freebsd/Battery.c
@@ -13,15 +13,17 @@ in the source distribution for its full text.
void Battery_getData(double* level, ACPresence* isOnAC) {
int life;
size_t life_len = sizeof(life);
- if (sysctlbyname("hw.acpi.battery.life", &life, &life_len, NULL, 0) == -1)
+ if (sysctlbyname("hw.acpi.battery.life", &life, &life_len, NULL, 0) == -1) {
*level = NAN;
- else
+ } else {
*level = life;
+ }
int acline;
size_t acline_len = sizeof(acline);
- if (sysctlbyname("hw.acpi.acline", &acline, &acline_len, NULL, 0) == -1)
+ if (sysctlbyname("hw.acpi.acline", &acline, &acline_len, NULL, 0) == -1) {
*isOnAC = AC_ERROR;
- else
+ } else {
*isOnAC = acline == 0 ? AC_ABSENT : AC_PRESENT;
+ }
}
diff --git a/freebsd/FreeBSDProcess.c b/freebsd/FreeBSDProcess.c
index a4516d04..baad5d13 100644
--- a/freebsd/FreeBSDProcess.c
+++ b/freebsd/FreeBSDProcess.c
@@ -134,10 +134,11 @@ static long FreeBSDProcess_compare(const void* v1, const void* v2) {
bool Process_isThread(const Process* this) {
const FreeBSDProcess* fp = (const FreeBSDProcess*) this;
- if (fp->kernel == 1 )
+ if (fp->kernel == 1 ) {
return 1;
- else
+ } else {
return Process_isUserlandThread(this);
+ }
}
const ProcessClass FreeBSDProcess_class = {
diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c
index 4594b992..7ce787f8 100644
--- a/freebsd/FreeBSDProcessList.c
+++ b/freebsd/FreeBSDProcessList.c
@@ -98,7 +98,9 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidMatchList, ui
if (smp) {
int err = sysctlbyname("kern.smp.cpus", &cpus, &len, NULL, 0);
- if (err) cpus = 1;
+ if (err) {
+ cpus = 1;
+ }
} else {
cpus = 1;
}
@@ -152,7 +154,9 @@ void ProcessList_delete(ProcessList* this) {
Hashtable_delete(fpl->ttys);
- if (fpl->kd) kvm_close(fpl->kd);
+ if (fpl->kd) {
+ kvm_close(fpl->kd);
+ }
free(fpl->cp_time_o);
free(fpl->cp_time_n);
@@ -225,7 +229,9 @@ static inline void FreeBSDProcessList_scanCPUTime(ProcessList* pl) {
// totals
total_d = total_n - total_o;
- if (total_d < 1 ) total_d = 1;
+ if (total_d < 1 ) {
+ total_d = 1;
+ }
// save current state as old and calc percentages
for (int s = 0; s < CPUSTATES; ++s) {
@@ -434,13 +440,15 @@ IGNORE_WCASTQUAL_END
jail_errmsg[0] = 0;
jid = jail_get(jiov, 6, 0);
if (jid < 0) {
- if (!jail_errmsg[0])
+ if (!jail_errmsg[0]) {
xSnprintf(jail_errmsg, JAIL_ERRMSGLEN, "jail_get: %s", strerror(errno));
+ }
return NULL;
} else if (jid == kproc->ki_jid) {
jname = xStrdup(jnamebuf);
- if (jname == NULL)
+ if (jname == NULL) {
strerror_r(errno, jail_errmsg, JAIL_ERRMSGLEN);
+ }
return jname;
} else {
return NULL;
@@ -464,11 +472,13 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
FreeBSDProcessList_scanCPUTime(super);
// in pause mode only gather global data for meters (CPU/memory/...)
- if (pauseProcessUpdate)
+ if (pauseProcessUpdate) {
return;
+ }
- if (settings->flags & PROCESS_FLAG_FREEBSD_TTY)
+ if (settings->flags & PROCESS_FLAG_FREEBSD_TTY) {
FreeBSDProcessList_scanTTYs(super);
+ }
int count = 0;
struct kinfo_proc* kprocs = kvm_getprocs(fpl->kd, KERN_PROC_PROC, 0, &count);
@@ -485,10 +495,11 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
if (!preExisting) {
fp->jid = kproc->ki_jid;
proc->pid = kproc->ki_pid;
- if ( ! ((kproc->ki_pid == 0) || (kproc->ki_pid == 1) ) && kproc->ki_flag & P_SYSTEM)
- fp->kernel = 1;
- else
- fp->kernel = 0;
+ if ( ! ((kproc->ki_pid == 0) || (kproc->ki_pid == 1) ) && kproc->ki_flag & P_SYSTEM) {
+ fp->kernel = 1;
+ } else {
+ fp->kernel = 0;
+ }
proc->ppid = kproc->ki_ppid;
proc->tpgid = kproc->ki_tpgid;
proc->tgid = kproc->ki_pid;
@@ -565,8 +576,9 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
default: proc->state = '?';
}
- if (settings->flags & PROCESS_FLAG_FREEBSD_TTY)
+ if (settings->flags & PROCESS_FLAG_FREEBSD_TTY) {
fp->ttyPath = (kproc->ki_tdev == NODEV) ? nodevStr : Hashtable_get(fpl->ttys, kproc->ki_tdev);
+ }
if (Process_isKernelThread(proc))
super->kernelThreads++;
diff --git a/htop.c b/htop.c
index 76754462..7fbc04c9 100644
--- a/htop.c
+++ b/htop.c
@@ -243,12 +243,13 @@ 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()
@@ -271,14 +272,18 @@ 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;
+ }
CRT_init(settings->delay, settings->colorScheme, flags.allowUnicode);
diff --git a/linux/Battery.c b/linux/Battery.c
index 326f35fd..ba7d153a 100644
--- a/linux/Battery.c
+++ b/linux/Battery.c
@@ -52,9 +52,11 @@ static unsigned long int parseBatInfo(const char* fileName, const unsigned short
struct dirent* dirEntry = readdir(batteryDir);
if (!dirEntry)
break;
+
char* entryName = dirEntry->d_name;
if (!String_startsWith(entryName, "BAT"))
continue;
+
batteries[nBatteries] = xStrdup(entryName);
nBatteries++;
}
@@ -74,12 +76,14 @@ static unsigned long int parseBatInfo(const char* fileName, const unsigned short
for (unsigned short int j = 0; j < lineNum; j++) {
free(line);
line = String_readLine(file);
- if (!line) break;
+ if (!line)
+ break;
}
fclose(file);
- if (!line) break;
+ if (!line)
+ break;
char* foundNumStr = String_getToken(line, wordNum);
const unsigned long int foundNum = atoi(foundNumStr);
@@ -122,8 +126,11 @@ static ACPresence procAcpiCheck(void) {
continue;
}
char* line = String_readLine(file);
+
fclose(file);
- if (!line) continue;
+
+ if (!line)
+ continue;
char* isOnline = String_getToken(line, 2);
free(line);
@@ -139,8 +146,10 @@ static ACPresence procAcpiCheck(void) {
}
}
- if (dir)
+ if (dir) {
closedir(dir);
+ }
+
return isOn;
}
@@ -170,14 +179,21 @@ static inline ssize_t xread(int fd, void* buf, size_t count) {
size_t alreadyRead = 0;
for (;;) {
ssize_t res = read(fd, buf, count);
- if (res == -1 && errno == EINTR) continue;
+ if (res == -1) {
+ if (errno == EINTR)
+ continue;
+ return -1;
+ }
+
if (res > 0) {
buf = ((char*)buf) + res;
count -= res;
alreadyRead += res;
}
- if (res == -1) return -1;
- if (count == 0 || res == 0) return alreadyRead;
+
+ if (count == 0 || res == 0) {
+ return alreadyRead;
+ }
}
}
@@ -197,6 +213,7 @@ static void Battery_getSysData(double* level, ACPresence* isOnAC) {
struct dirent* dirEntry = readdir(dir);
if (!dirEntry)
break;
+
const char* entryName = dirEntry->d_name;
char filePath[256];
@@ -257,14 +274,18 @@ static void Battery_getSysData(double* level, ACPresence* isOnAC) {
fullSize = atoi(value);
totalFull += fullSize;
full = true;
- if (now) break;
+ if (now) {
+ break;
+ }
continue;
}
value = (!now) ? match(energy, "NOW=") : NULL;
if (value) {
totalRemain += atoi(value);
now = true;
- if (full) break;
+ if (full) {
+ break;
+ }
continue;
}
}
@@ -288,7 +309,9 @@ static void Battery_getSysData(double* level, ACPresence* isOnAC) {
char buffer[2] = "";
for (;;) {
ssize_t res = read(fd3, buffer, 1);
- if (res == -1 && errno == EINTR) continue;
+ if (res == -1 && errno == EINTR) {
+ continue;
+ }
break;
}
close(fd3);
diff --git a/linux/IOPriorityPanel.c b/linux/IOPriorityPanel.c
index 9f85e792..cd4b2e60 100644
--- a/linux/IOPriorityPanel.c
+++ b/linux/IOPriorityPanel.c
@@ -21,7 +21,11 @@ Panel* IOPriorityPanel_new(IOPriority currPrio) {
Panel_setHeader(this, "IO Priority:");
Panel_add(this, (Object*) ListItem_new("None (based on nice)", IOPriority_None));
- if (currPrio == IOPriority_None) Panel_setSelected(this, 0);
+
+ if (currPrio == IOPriority_None) {
+ Panel_setSelected(this, 0);
+ }
+
static const struct { int klass; const char* name; } classes[] = {
{ .klass = IOPRIO_CLASS_RT, .name = "Realtime" },
{ .klass = IOPRIO_CLASS_BE, .name = "Best-effort" },
@@ -33,11 +37,15 @@ Panel* IOPriorityPanel_new(IOPriority currPrio) {
xSnprintf(name, sizeof(name) - 1, "%s %d %s", classes[c].name, i, i == 0 ? "(High)" : (i == 7 ? "(Low)" : ""));
IOPriority ioprio = IOPriority_tuple(classes[c].klass, i);
Panel_add(this, (Object*) ListItem_new(name, ioprio));
- if (currPrio == ioprio) Panel_setSelected(this, Panel_size(this) - 1);
+ if (currPrio == ioprio) {
+ Panel_setSelected(this, Panel_size(this) - 1);
+ }
}
}
Panel_add(this, (Object*) ListItem_new("Idle", IOPriority_Idle));
- if (currPrio == IOPriority_Idle) Panel_setSelected(this, Panel_size(this) - 1);
+ if (currPrio == IOPriority_Idle) {
+ Panel_setSelected(this, Panel_size(this) - 1);
+ }
return this;
}
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c
index a5d7eccf..b1bd24d5 100644
--- a/linux/LinuxProcess.c
+++ b/linux/LinuxProcess.c
@@ -168,8 +168,9 @@ dynamically derived from the cpu nice level of the process:
io_priority = (cpu_nice + 20) / 5. -- From ionice(1) man page
*/
static int LinuxProcess_effectiveIOPriority(const LinuxProcess* this) {
- if (IOPriority_class(this->ioPriority) == IOPRIO_CLASS_NONE)
+ if (IOPriority_class(this->ioPriority) == IOPRIO_CLASS_NONE) {
return IOPriority_tuple(IOPRIO_CLASS_BE, (this->super.nice + 20) / 5);
+ }
return this->ioPriority;
}
@@ -290,8 +291,9 @@ void LinuxProcess_writeField(const Process* this, RichString* str, ProcessField
case PERCENT_SWAP_DELAY: LinuxProcess_printDelay(lp->swapin_delay_percent, buffer, n); break;
#endif
case CTXT:
- if (lp->ctxt_diff > 1000)
+ if (lp->ctxt_diff > 1000) {
attr |= A_BOLD;
+ }
xSnprintf(buffer, n, "%5lu ", lp->ctxt_diff);
break;
case SECATTR: snprintf(buffer, n, "%-30s ", lp->secattr ? lp->secattr : "?"); break;
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
index 6e7906d5..e91666d0 100644
--- a/linux/LinuxProcessList.c
+++ b/linux/LinuxProcessList.c
@@ -56,14 +56,21 @@ static ssize_t xread(int fd, void* buf, size_t count) {
size_t alreadyRead = 0;
for (;;) {
ssize_t res = read(fd, buf, count);
- if (res == -1 && errno == EINTR) continue;
+ if (res == -1) {
+ if (errno == EINTR)
+ continue;
+ return -1;
+ }
+
if (res > 0) {
buf = ((char*)buf) + res;
count -= res;
alreadyRead += res;
}
- if (res == -1) return -1;
- if (count == 0 || res == 0) return alreadyRead;
+
+ if (count == 0 || res == 0) {
+ return alreadyRead;
+ }
}
}
@@ -78,6 +85,7 @@ static void LinuxProcessList_initTtyDrivers(LinuxProcessList* this) {
int fd = open(PROCTTYDRIVERSFILE, O_RDONLY);
if (fd == -1)
return;
+
char* buf = NULL;
int bufSize = MAX_READ;
int bufLen = 0;
@@ -160,21 +168,24 @@ static void LinuxProcessList_initNetlinkSocket(LinuxProcessList* this) {
static int LinuxProcessList_computeCPUcount(void) {
FILE* file = fopen(PROCSTATFILE, "r");
- if (file == NULL)
+ if (file == NULL) {
CRT_fatalError("Cannot open " PROCSTATFILE);
+ }
int cpus = 0;
char buffer[PROC_LINE_LENGTH + 1];
while (fgets(buffer, sizeof(buffer), file)) {
- if (String_startsWith(buffer, "cpu"))
+ if (String_startsWith(buffer, "cpu")) {
cpus++;
+ }
}
fclose(file);
/* subtract raw cpu entry */
- if (cpus > 0)
+ if (cpus > 0) {
cpus--;
+ }
return cpus;
}
@@ -218,16 +229,18 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidMatchList, ui
// Read btime
{
FILE* statfile = fopen(PROCSTATFILE, "r");
- if (statfile == NULL)
+ if (statfile == NULL) {
CRT_fatalError("Cannot open " PROCSTATFILE);
+ }
while (true) {
char buffer[PROC_LINE_LENGTH + 1];
if (fgets(buffer, sizeof(buffer), statfile) == NULL) {
CRT_fatalError("No btime in " PROCSTATFILE);
} else if (String_startsWith(buffer, "btime ")) {
- if (sscanf(buffer, "btime %lld\n", &btime) != 1)
+ if (sscanf(buffer, "btime %lld\n", &btime) != 1) {
CRT_fatalError("Failed to parse btime from " PROCSTATFILE);
+ }
break;
}
}
@@ -298,16 +311,19 @@ static bool LinuxProcessList_readStatFile(Process* process, const char* dirname,
int size = xread(fd, buf, MAX_READ);
close(fd);
- if (size <= 0) return false;
+ if (size <= 0)
+ return false;
buf[size] = '\0';
assert(process->pid == atoi(buf));
char* location = strchr(buf, ' ');
- if (!location) return false;
+ if (!location)
+ return false;
location += 2;
char* end = strrchr(location, ')');
- if (!end) return false;
+ if (!end)
+ return false;
int commsize = MINIMUM(end - location, commLenIn - 1);
// deepcode ignore BufferOverflow: commsize is bounded by the allocated length passed in by commLen, saved into commLenIn
@@ -359,8 +375,9 @@ static bool LinuxProcessList_readStatFile(Process* process, const char* dirname,
location = strchr(location, ' ') + 1;
}
location += 1;
- for (int i = 0; i < 15; i++)
+ for (int i = 0; i < 15; i++) {
location = strchr(location, ' ') + 1;
+ }
process->exit_signal = strtol(location, &location, 10);
location += 1;
assert(location != NULL);
@@ -411,7 +428,9 @@ static void LinuxProcessList_readIoFile(LinuxProcess* process, const char* dirna
char buffer[1024];
ssize_t buflen = xread(fd, buffer, 1023);
close(fd);
- if (buflen < 1) return;
+ if (buflen < 1)
+ return;
+
buffer[buflen] = '\0';
unsigned long long last_read = process->io_read_bytes;
unsigned long long last_write = process->io_write_bytes;
@@ -464,6 +483,7 @@ static bool LinuxProcessList_readStatmFile(LinuxProcess* process, const char* di
FILE* statmfile = fopen(filename, "r");
if (!statmfile)
return false;
+
int r = fscanf(statmfile, "%ld %ld %ld %ld %ld %ld %ld",
&process->super.m_size,
&process->super.m_resident,
@@ -636,9 +656,13 @@ static void LinuxProcessList_readCGroupFile(LinuxProcess* process, const char* d
while (!feof(file) && left > 0) {
char buffer[PROC_LINE_LENGTH + 1];
char* ok = fgets(buffer, PROC_LINE_LENGTH, file);
- if (!ok) break;
+ if (!ok)
+ break;
+
char* group = strchr(buffer, ':');
- if (!group) break;
+ if (!group)
+ break;
+
if (at != output) {
*at = ';';
at++;
@@ -662,6 +686,7 @@ static void LinuxProcessList_readVServerData(LinuxProcess* process, const char*
FILE* file = fopen(filename, "r");
if (!file)
return;
+
char buffer[PROC_LINE_LENGTH + 1];
process->vxid = 0;
while (fgets(buffer, PROC_LINE_LENGTH, file)) {
@@ -711,19 +736,22 @@ static void LinuxProcessList_readCtxtData(LinuxProcess* process, const char* dir
FILE* file = fopen(filename, "r");
if (!file)
return;
+
char buffer[PROC_LINE_LENGTH + 1];
unsigned long ctxt = 0;
while (fgets(buffer, PROC_LINE_LENGTH, file)) {
if (String_startsWith(buffer, "voluntary_ctxt_switches:")) {
unsigned long vctxt;
int ok = sscanf(buffer, "voluntary_ctxt_switches:\t%lu", &vctxt);
- if (ok >= 1)
+ if (ok >= 1) {
ctxt += vctxt;
+ }
} else if (String_startsWith(buffer, "nonvoluntary_ctxt_switches:")) {
unsigned long nvctxt;
int ok = sscanf(buffer, "nonvoluntary_ctxt_switches:\t%lu", &nvctxt);
- if (ok >= 1)
+ if (ok >= 1) {
ctxt += nvctxt;
+ }
}
}
fclose(file);
@@ -749,10 +777,12 @@ static void LinuxProcessList_readSecattrData(LinuxProcess* process, const char*
return;
}
char* newline = strchr(buffer, '\n');
- if (newline)
+ if (newline) {
*newline = '\0';
- if (process->secattr && String_eq(process->secattr, buffer))
+ }
+ if (process->secattr && String_eq(process->secattr, buffer)) {
return;
+ }
free(process->secattr);
process->secattr = xStrdup(buffer);
}
@@ -905,17 +935,28 @@ static char* LinuxProcessList_updateTtyDevice(TtyDriver* ttyDrivers, unsigned in
for (;;) {
xAsprintf(&fullPath, "%s/%d", ttyDrivers[i].path, idx);
int err = stat(fullPath, &sstat);
- if (err == 0 && major(sstat.st_rdev) == maj && minor(sstat.st_rdev) == min) return fullPath;
+ if (err == 0 && major(sstat.st_rdev) == maj && minor(sstat.st_rdev) == min) {
+ return fullPath;
+ }
free(fullPath);
+
xAsprintf(&fullPath, "%s%d", ttyDrivers[i].path, idx);
err = stat(fullPath, &sstat);
- if (err == 0 && major(sstat.st_rdev) == maj && minor(sstat.st_rdev) == min) return fullPath;
+ if (err == 0 && major(sstat.st_rdev) == maj && minor(sstat.st_rdev) == min) {
+ return fullPath;
+ }
free(fullPath);
- if (idx == min) break;
+
+ if (idx == min) {
+ break;
+ }
+
idx = min;
}
int err = stat(ttyDrivers[i].path, &sstat);
- if (err == 0 && tty_nr == sstat.st_rdev) return xStrdup(ttyDrivers[i].path);
+ if (err == 0 && tty_nr == sstat.st_rdev) {
+ return xStrdup(ttyDrivers[i].path);
+ }
}
char* out;
xAsprintf(&out, "/dev/%u:%u", maj, min);
@@ -933,7 +974,9 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, const char*
#endif
dir = opendir(dirname);
- if (!dir) return false;
+ if (!dir)
+ return false;
+
int cpus = pl->cpuCount;
bool hideKernelThreads = settings->hideKernelThreads;
bool hideUserlandThreads = settings->hideUserlandThreads;
@@ -1001,15 +1044,21 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, const char*
unsigned int tty_nr = proc->tty_nr;
if (! LinuxProcessList_readStatFile(proc, dirname, name, command, &commLen))
goto errorReadingProcess;
+
if (tty_nr != proc->tty_nr && this->ttyDrivers) {
free(lp->ttyDevice);
lp->ttyDevice = LinuxProcessList_updateTtyDevice(this->ttyDrivers, proc->tty_nr);
}
- if (settings->flags & PROCESS_FLAG_LINUX_IOPRIO)
+
+ if (settings->flags & PROCESS_FLAG_LINUX_IOPRIO) {
LinuxProcess_updateIOPriority(lp);
+ }
+
float percent_cpu = (lp->utime + lp->stime - lasttimes) / period * 100.0;
proc->percent_cpu = CLAMP(percent_cpu, 0.0, cpus * 100.0);
- if (isnan(proc->percent_cpu)) proc->percent_cpu = 0.0;
+ if (isnan(proc->percent_cpu))
+ proc->percent_cpu = 0.0;
+
proc->percent_mem = (proc->m_resident * CRT_pageSizeKB) / (double)(pl->totalMem) * 100.0;
if (!preExisting) {
@@ -1051,18 +1100,22 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, const char*
#endif
#ifdef HAVE_CGROUP
- if (settings->flags & PROCESS_FLAG_LINUX_CGROUP)
+ if (settings->flags & PROCESS_FLAG_LINUX_CGROUP) {
LinuxProcessList_readCGroupFile(lp, dirname, name);
+ }
#endif
- if (settings->flags & PROCESS_FLAG_LINUX_OOM)
+ if (settings->flags & PROCESS_FLAG_LINUX_OOM) {
LinuxProcessList_readOomData(lp, dirname, name);
+ }
- if (settings->flags & PROCESS_FLAG_LINUX_CTXT)
+ if (settings->flags & PROCESS_FLAG_LINUX_CTXT) {
LinuxProcessList_readCtxtData(lp, dirname, name);
+ }
- if (settings->flags & PROCESS_FLAG_LINUX_SECATTR)
+ if (settings->flags & PROCESS_FLAG_LINUX_SECATTR) {
LinuxProcessList_readSecattrData(lp, dirname, name);
+ }
if (proc->state == 'Z' && (proc->basenameOffset == 0)) {
proc->basenameOffset = -1;
@@ -1072,8 +1125,9 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, const char*
proc->basenameOffset = -1;
setCommand(proc, command, commLen);
} else if (settings->showThreadNames) {
- if (! LinuxProcessList_readCmdlineFile(proc, dirname, name))
+ if (! LinuxProcessList_readCmdlineFile(proc, dirname, name)) {
goto errorReadingProcess;
+ }
}
if (Process_isKernelThread(proc)) {
pl->kernelThreads++;
@@ -1293,10 +1347,13 @@ static inline double LinuxProcessList_scanCPUTime(LinuxProcessList* this) {
// 5, 7, 8 or 9 of these fields will be set.
// The rest will remain at zero.
char* ok = fgets(buffer, PROC_LINE_LENGTH, file);
- if (!ok) buffer[0] = '\0';
- if (i == 0)
+ if (!ok) {
+ buffer[0] = '\0';
+ }
+
+ if (i == 0) {
(void) sscanf(buffer, "cpu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu", &usertime, &nicetime, &systemtime, &idletime, &ioWait, &irq, &softIrq, &steal, &guest, &guestnice);
- else {
+ } else {
int cpuid;
(void) sscanf(buffer, "cpu%4d %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu %16llu", &cpuid, &usertime, &nicetime, &systemtime, &idletime, &ioWait, &irq, &softIrq, &steal, &guest, &guestnice);
assert(cpuid == i - 1);
@@ -1404,13 +1461,15 @@ static void scanCPUFreqencyFromCPUinfo(LinuxProcessList* this) {
(sscanf(buffer, "cpu MHz : %lf", &frequency) == 1) ||
(sscanf(buffer, "cpu MHz: %lf", &frequency) == 1)
) {
- if (cpuid < 0 || cpuid > (cpus - 1))
+ if (cpuid < 0 || cpuid > (cpus - 1)) {
continue;
+ }
CPUData* cpuData = &(this->cpus[cpuid + 1]);
/* do not override sysfs data */
- if (isnan(cpuData->frequency))
+ if (isnan(cpuData->frequency)) {
cpuData->frequency = frequency;
+ }
numCPUsWithFrequency++;
totalFrequency += frequency;
} else if (buffer[0] == '\n') {
@@ -1419,19 +1478,22 @@ static void scanCPUFreqencyFromCPUinfo(LinuxProcessList* this) {
}
fclose(file);
- if (numCPUsWithFrequency > 0)
+ if (numCPUsWithFrequency > 0) {
this->cpus[0].frequency = totalFrequency / numCPUsWithFrequency;
+ }
}
static void LinuxProcessList_scanCPUFrequency(LinuxProcessList* this) {
int cpus = this->super.cpuCount;
assert(cpus > 0);
- for (int i = 0; i <= cpus; i++)
+ for (int i = 0; i <= cpus; i++) {
this->cpus[i].frequency = NAN;
+ }
- if (scanCPUFreqencyFromSysCPUFreq(this) == 0)
+ if (scanCPUFreqencyFromSysCPUFreq(this) == 0) {
return;
+ }
scanCPUFreqencyFromCPUinfo(this);
}
@@ -1447,12 +1509,14 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
double period = LinuxProcessList_scanCPUTime(this);
- if (settings->showCPUFrequency)
+ if (settings->showCPUFrequency) {
LinuxProcessList_scanCPUFrequency(this);
+ }
// in pause mode only gather global data for meters (CPU/memory/...)
- if (pauseProcessUpdate)
+ if (pauseProcessUpdate) {
return;
+ }
struct timeval tv;
gettimeofday(&tv, NULL);
diff --git a/linux/Platform.c b/linux/Platform.c
index 3da3f029..66200acc 100644
--- a/linux/Platform.c
+++ b/linux/Platform.c
@@ -98,15 +98,18 @@ static Htop_Reaction Platform_actionSetIOPriority(State* st) {
Panel* panel = st->panel;
LinuxProcess* p = (LinuxProcess*) Panel_getSelected(panel);
- if (!p) return HTOP_OK;
+ if (!p)
+ return HTOP_OK;
+
IOPriority ioprio1 = p->ioPriority;
Panel* ioprioPanel = IOPriorityPanel_new(ioprio1);
void* set = Action_pickFromVector(st, ioprioPanel, 21, true);
if (set) {
IOPriority ioprio2 = IOPriorityPanel_getIOPriority(ioprioPanel);
- bool ok = MainPanel_foreachProcess((MainPanel*)panel, LinuxProcess_setIOPriority, (Arg){ .i = ioprio2 }, NULL);
- if (!ok)
+ bool ok = MainPanel_foreachProcess((MainPanel*)panel, LinuxProcess_setIOPriority, (Arg) { .i = ioprio2 }, NULL);
+ if (!ok) {
beep();
+ }
}
Panel_delete((Object*)ioprioPanel);
return HTOP_REFRESH | HTOP_REDRAW_BAR | HTOP_UPDATE_PANELHDR;
@@ -162,7 +165,9 @@ int Platform_getUptime() {
if (fd) {
int n = fscanf(fd, "%64lf", &uptime);
fclose(fd);
- if (n <= 0) return 0;
+ if (n <= 0) {
+ return 0;
+ }
}
return floor(uptime);
}
@@ -185,7 +190,9 @@ void Platform_getLoadAverage(double* one, double* five, double* fifteen) {
int Platform_getMaxPid() {
FILE* file = fopen(PROCDIR "/sys/kernel/pid_max", "r");
- if (!file) return -1;
+ if (!file)
+ return -1;
+
int maxPid = 4194303;
int match = fscanf(file, "%32d", &maxPid);
(void) match;
@@ -221,7 +228,9 @@ double Platform_setCPUValues(Meter* this, int cpu) {
percent = v[0] + v[1] + v[2] + v[3];
}
percent = CLAMP(percent, 0.0, 100.0);
- if (isnan(percent)) percent = 0.0;
+ if (isnan(percent)) {
+ percent = 0.0;
+ }
v[CPU_METER_FREQUENCY] = cpuData->frequency;
diff --git a/linux/SELinuxMeter.c b/linux/SELinuxMeter.c
index 275eefef..ee1d8470 100644
--- a/linux/SELinuxMeter.c
+++ b/linux/SELinuxMeter.c
@@ -32,16 +32,19 @@ static bool enforcing = false;
static bool hasSELinuxMount(void) {
struct statfs sfbuf;
int r = statfs("/sys/fs/selinux", &sfbuf);
- if (r != 0)
+ if (r != 0) {
return false;
+ }
- if (sfbuf.f_type != SELINUX_MAGIC)
+ if (sfbuf.f_type != SELINUX_MAGIC) {
return false;
+ }
struct statvfs vfsbuf;
r = statvfs("/sys/fs/selinux", &vfsbuf);
- if (r != 0 || (vfsbuf.f_flag & ST_RDONLY))
+ if (r != 0 || (vfsbuf.f_flag & ST_RDONLY)) {
return false;
+ }
return true;
}
@@ -51,22 +54,26 @@ static bool isSelinuxEnabled(void) {
}
static bool isSelinuxEnforcing(void) {
- if (!enabled)
+ if (!enabled) {
return false;
+ }
int fd = open("/sys/fs/selinux/enforce", O_RDONLY);
- if (fd < 0)
+ if (fd < 0) {
return false;
+ }
char buf[20] = {0};
int r = read(fd, buf, sizeof(buf) - 1);
close(fd);
- if (r < 0)
+ if (r < 0) {
return false;
+ }
int enforce = 0;
- if (sscanf(buf, "%d", &enforce) != 1)
+ if (sscanf(buf, "%d", &enforce) != 1) {
return false;
+ }
return !!enforce;
}
diff --git a/openbsd/OpenBSDProcessList.c b/openbsd/OpenBSDProcessList.c
index bfac535d..aec13477 100644
--- a/openbsd/OpenBSDProcessList.c
+++ b/openbsd/OpenBSDProcessList.c
@@ -347,8 +347,9 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
OpenBSDProcessList_scanCPUTime(opl);
// in pause mode only gather global data for meters (CPU/memory/...)
- if (pauseProcessUpdate)
+ if (pauseProcessUpdate) {
return;
+ }
OpenBSDProcessList_scanProcs(opl);
}
diff --git a/openbsd/Platform.c b/openbsd/Platform.c
index 21a33d1e..055ffa99 100644
--- a/openbsd/Platform.c
+++ b/openbsd/Platform.c
@@ -184,7 +184,9 @@ double Platform_setCPUValues(Meter* this, int cpu) {
}
totalPercent = CLAMP(totalPercent, 0.0, 100.0);
- if (isnan(totalPercent)) totalPercent = 0.0;
+ if (isnan(totalPercent)) {
+ totalPercent = 0.0;
+ }
return totalPercent;
}
@@ -250,8 +252,9 @@ char* Platform_getProcessEnv(pid_t pid) {
struct kinfo_proc* kproc;
size_t capacity = 4096, size = 0;
- if ((kt = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
+ if ((kt = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) {
return NULL;
+ }
if ((kproc = kvm_getprocs(kt, KERN_PROC_PID, pid,
sizeof(struct kinfo_proc), &count)) == NULL) {
diff --git a/solaris/Platform.c b/solaris/Platform.c
index 69777726..6159c357 100644
--- a/solaris/Platform.c
+++ b/solaris/Platform.c
@@ -156,13 +156,19 @@ int Platform_getMaxPid() {
kvar_t* ksvar = NULL;
int vproc = 32778; // Reasonable Solaris default
kc = kstat_open();
- if (kc != NULL) { kshandle = kstat_lookup(kc,"unix",0,"var"); }
- if (kshandle != NULL) { kstat_read(kc,kshandle,NULL); }
+ if (kc != NULL) {
+ kshandle = kstat_lookup(kc, "unix", 0, "var");
+ }
+ if (kshandle != NULL) {
+ kstat_read(kc, kshandle, NULL);
+ }
ksvar = kshandle->ks_data;
if (ksvar->v_proc > 0 ) {
vproc = ksvar->v_proc;
}
- if (kc != NULL) { kstat_close(kc); }
+ if (kc != NULL) {
+ kstat_close(kc);
+ }
return vproc;
}
@@ -195,7 +201,9 @@ double Platform_setCPUValues(Meter* this, int cpu) {
}
percent = CLAMP(percent, 0.0, 100.0);
- if (isnan(percent)) percent = 0.0;
+ if (isnan(percent)) {
+ percent = 0.0;
+ }
v[CPU_METER_FREQUENCY] = NAN;
@@ -233,10 +241,12 @@ static int Platform_buildenv(void* accum, struct ps_prochandle* Phandle, uintptr
(void) Phandle;
(void) addr;
size_t thissz = strlen(str);
- if ((thissz + 2) > (accump->capacity - accump->size))
+ if ((thissz + 2) > (accump->capacity - accump->size)) {
accump->env = xRealloc(accump->env, accump->capacity *= 2);
- if ((thissz + 2) > (accump->capacity - accump->size))
+ }
+ if ((thissz + 2) > (accump->capacity - accump->size)) {
return 1;
+ }
strlcpy( accump->env + accump->size, str, (accump->capacity - accump->size));
strncpy( accump->env + accump->size + thissz + 1, "\n", 1);
accump->size = accump->size + thissz + 1;
@@ -249,8 +259,9 @@ char* Platform_getProcessEnv(pid_t pid) {
int graberr;
struct ps_prochandle* Phandle;
- if ((Phandle = Pgrab(realpid, PGRAB_RDONLY, &graberr)) == NULL)
+ if ((Phandle = Pgrab(realpid, PGRAB_RDONLY, &graberr)) == NULL) {
return "Unable to read process environment.";
+ }
envBuilder.capacity = 4096;
envBuilder.size = 0;
diff --git a/solaris/SolarisProcessList.c b/solaris/SolarisProcessList.c
index 31507506..49aeb24c 100644
--- a/solaris/SolarisProcessList.c
+++ b/solaris/SolarisProcessList.c
@@ -169,10 +169,11 @@ static inline void SolarisProcessList_scanMemoryInfo(ProcessList* pl) {
pages = kstat_data_lookup(meminfo, "pagestotal");
pl->totalMem = totalmem_pgs->value.ui64 * CRT_pageSizeKB;
- if (pl->totalMem > freemem_pgs->value.ui64 * CRT_pageSizeKB)
+ if (pl->totalMem > freemem_pgs->value.ui64 * CRT_pageSizeKB) {
pl->usedMem = pl->totalMem - freemem_pgs->value.ui64 * CRT_pageSizeKB;
- else
- pl->usedMem = 0; // This can happen in non-global zone (in theory)
+ } else {
+ pl->usedMem = 0; // This can happen in non-global zone (in theory)
+ }
// Not sure how to implement this on Solaris - suggestions welcome!
pl->cachedMem = 0;
// Not really "buffers" but the best Solaris analogue that I can find to
@@ -268,7 +269,9 @@ void ProcessList_delete(ProcessList* pl) {
SolarisProcessList* spl = (SolarisProcessList*) pl;
ProcessList_done(pl);
free(spl->cpus);
- if (spl->kd) kstat_close(spl->kd);
+ if (spl->kd) {
+ kstat_close(spl->kd);
+ }
free(spl);
}
@@ -287,7 +290,10 @@ int SolarisProcessList_walkproc(psinfo_t* _psinfo, lwpsinfo_t* _lwpsinfo, void*
SolarisProcessList* spl = (SolarisProcessList*) listptr;
id_t lwpid_real = _lwpsinfo->pr_lwpid;
- if (lwpid_real > 1023) return 0;
+ if (lwpid_real > 1023) {
+ return 0;
+ }
+
pid_t lwpid = (_psinfo->pr_pid * 1024) + lwpid_real;
bool onMasterLWP = (_lwpsinfo->pr_lwpid == _psinfo->pr_lwp.pr_lwpid);
if (onMasterLWP) {
@@ -347,9 +353,13 @@ int SolarisProcessList_walkproc(psinfo_t* _psinfo, lwpsinfo_t* _lwpsinfo, void*
if (sproc->kernel && !pl->settings->hideKernelThreads) {
pl->kernelThreads += proc->nlwp;
pl->totalTasks += proc->nlwp + 1;
- if (proc->state == 'O') pl->runningTasks++;
+ if (proc->state == 'O') {
+ pl->runningTasks++;
+ }
} else if (!sproc->kernel) {
- if (proc->state == 'O') pl->runningTasks++;
+ if (proc->state == 'O') {
+ pl->runningTasks++;
+ }
if (pl->settings->hideUserlandThreads) {
pl->totalTasks++;
} else {
@@ -403,8 +413,9 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
SolarisProcessList_scanZfsArcstats(super);
// in pause mode only gather global data for meters (CPU/memory/...)
- if (pauseProcessUpdate)
+ if (pauseProcessUpdate) {
return;
+ }
super->kernelThreads = 1;
proc_walk(&SolarisProcessList_walkproc, super, PR_WALK_LWP);
diff --git a/unsupported/UnsupportedProcessList.c b/unsupported/UnsupportedProcessList.c
index 24668b69..6c0e0229 100644
--- a/unsupported/UnsupportedProcessList.c
+++ b/unsupported/UnsupportedProcessList.c
@@ -27,8 +27,9 @@ void ProcessList_delete(ProcessList* this) {
void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
// in pause mode only gather global data for meters (CPU/memory/...)
- if (pauseProcessUpdate)
+ if (pauseProcessUpdate) {
return;
+ }
bool preExisting = true;
Process* proc;

© 2014-2024 Faster IT GmbH | imprint | privacy policy