Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve make dist to warn on building inside a git repository #1458

Closed
wants to merge 28 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
50ad97c
Improve `make dist` to warn on building inside a git repository
Apr 17, 2024
64a7a6a
Use 'fp' name for local 'FILE*' variables.
Explorer09 Apr 17, 2024
56c276f
Use 'sb' name for local 'struct stat' buffers
Explorer09 Apr 17, 2024
ebefd73
Explicit memory initialization when reading status file
BenBE Apr 8, 2024
86f187e
Reserve full function array to make the GCC14 static code analyzer happy
BenBE Apr 8, 2024
42b2012
Avoid magic numbers for the size of FunctionBar lists
BenBE Apr 18, 2024
50365a0
Obsolete the CUSTOM_METERMODE use in default mode
Explorer09 Apr 18, 2024
1671879
Don't initialize meter mode in custom meter init functions
Explorer09 Apr 18, 2024
dda6ae8
Remove CUSTOM_METERMODE MeterModeId
Explorer09 Apr 18, 2024
9089607
CPUMeter: Read height from sub-meter objects
Explorer09 Apr 16, 2024
3d790e2
MemorySwapMeter: Read height from sub-meter objects
Explorer09 Apr 16, 2024
7289abf
Reorder Meter.c sections. No code changes.
Explorer09 Apr 18, 2024
417f73c
Make 'Meter_modes' private and simplify its structure
Explorer09 Apr 18, 2024
9f5e4fe
New header "MeterMode.h" for MeterModeId definitions
Explorer09 Apr 18, 2024
9e28da5
Define MeterModeId to unsigned int and use it throughout
Explorer09 Apr 18, 2024
7fd551b
MemorySwapMeter_init() code shrink
Explorer09 Apr 15, 2024
439d54d
Adjust some code style for maintainability
Explorer09 Apr 18, 2024
1ae2175
Use struct member to determine size of allocations
BenBE Apr 20, 2024
42a6667
darwin: avoid double division by zero on startup
cgzones Apr 12, 2023
de40e65
darwin: scan thread information
robaho Feb 28, 2021
33094bb
Update '__STDC_VERSION__' check with C23
Explorer09 Apr 22, 2024
9659d60
Fix "CPU usage bar" help alignment.
antonsoroko Apr 23, 2024
cdb7b0e
Linux: Permit non-ASCII for CGROUP, CONTAINER & SECATTR fields
Explorer09 Apr 18, 2024
8f7dbd4
Fix GCC build warning in NetBSD 10
Explorer09 Apr 15, 2024
b449b68
CI: Bump NetBSD version to 10.0
fraggerfox Apr 11, 2024
8f88fdf
Linux: show newlines in commands as ? instead of space
cgzones May 6, 2024
ce733a3
Annotate mbstowcs_nonfatal() with restrict
cgzones May 6, 2024
f16719b
Linux: reorder /proc/<pid>/status parsing
cgzones May 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,11 @@ jobs:
- name: Compile
uses: vmactions/netbsd-vm@v1
with:
release: '9.3'
release: '10.0'
usesh: true
prepare: |
PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH"
PKG_PATH="https://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All/"
PKG_PATH="https://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/10.0/All/"
export PATH PKG_PATH
/usr/sbin/pkg_add pkgin
pkgin -y install autoconf automake libtool ncurses ncursesw gmake git
Expand Down
2 changes: 1 addition & 1 deletion Action.c
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,7 @@ static Htop_Reaction actionHelp(State* st) {
addbartext(CRT_colors[BAR_SHADOW], " ", "used%");
} else {
addbartext(CRT_colors[CPU_GUEST], "/", "guest");
addbartext(CRT_colors[BAR_SHADOW], " ", "used%");
addbartext(CRT_colors[BAR_SHADOW], " ", "used%");
}
addattrstr(CRT_colors[BAR_BORDER], "]");

Expand Down
86 changes: 33 additions & 53 deletions CPUMeter.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ in the source distribution for its full text.

#include "CPUMeter.h"

#include <assert.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
Expand Down Expand Up @@ -233,7 +234,7 @@ static void AllCPUsMeter_updateValues(Meter* this) {
Meter_updateValues(meters[i]);
}

static void CPUMeterCommonInit(Meter* this, int ncol) {
static void CPUMeterCommonInit(Meter* this) {
unsigned int cpus = this->host->existingCPUs;
CPUMeterData* data = this->meterData;
if (!data) {
Expand All @@ -250,24 +251,19 @@ static void CPUMeterCommonInit(Meter* this, int ncol) {

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);
}

static void CPUMeterCommonUpdateMode(Meter* this, int mode, int ncol) {
static void CPUMeterCommonUpdateMode(Meter* this, MeterModeId mode, int ncol) {
CPUMeterData* data = this->meterData;
Meter** meters = data->meters;
this->mode = mode;
int h = Meter_modes[mode]->h;
int start, count;
AllCPUsMeter_getRange(this, &start, &count);
for (int i = 0; i < count; i++) {
Meter_setMode(meters[i], mode);
}
int h = meters[0]->h;
assert(h > 0);
this->h = h * ((count + ncol - 1) / ncol);
}

Expand All @@ -282,35 +278,19 @@ static void AllCPUsMeter_done(Meter* this) {
free(data);
}

static void SingleColCPUsMeter_init(Meter* this) {
CPUMeterCommonInit(this, 1);
}

static void SingleColCPUsMeter_updateMode(Meter* this, int mode) {
static void SingleColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 1);
}

static void DualColCPUsMeter_init(Meter* this) {
CPUMeterCommonInit(this, 2);
}

static void DualColCPUsMeter_updateMode(Meter* this, int mode) {
static void DualColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 2);
}

static void QuadColCPUsMeter_init(Meter* this) {
CPUMeterCommonInit(this, 4);
}

static void QuadColCPUsMeter_updateMode(Meter* this, int mode) {
static void QuadColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 4);
}

static void OctoColCPUsMeter_init(Meter* this) {
CPUMeterCommonInit(this, 8);
}

static void OctoColCPUsMeter_updateMode(Meter* this, int mode) {
static void OctoColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 8);
}

Expand Down Expand Up @@ -380,15 +360,15 @@ const MeterClass AllCPUsMeter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.total = 100.0,
.attributes = CPUMeter_attributes,
.name = "AllCPUs",
.uiName = "CPUs (1/1)",
.description = "CPUs (1/1): all CPUs",
.caption = "CPU",
.draw = SingleColCPUsMeter_draw,
.init = SingleColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = SingleColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -400,7 +380,7 @@ const MeterClass AllCPUs2Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -409,7 +389,7 @@ const MeterClass AllCPUs2Meter_class = {
.description = "CPUs (1&2/2): all CPUs in 2 shorter columns",
.caption = "CPU",
.draw = DualColCPUsMeter_draw,
.init = DualColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = DualColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -421,7 +401,7 @@ const MeterClass LeftCPUsMeter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -430,7 +410,7 @@ const MeterClass LeftCPUsMeter_class = {
.description = "CPUs (1/2): first half of list",
.caption = "CPU",
.draw = SingleColCPUsMeter_draw,
.init = SingleColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = SingleColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -442,7 +422,7 @@ const MeterClass RightCPUsMeter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -451,7 +431,7 @@ const MeterClass RightCPUsMeter_class = {
.description = "CPUs (2/2): second half of list",
.caption = "CPU",
.draw = SingleColCPUsMeter_draw,
.init = SingleColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = SingleColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -463,7 +443,7 @@ const MeterClass LeftCPUs2Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -472,7 +452,7 @@ const MeterClass LeftCPUs2Meter_class = {
.description = "CPUs (1&2/4): first half in 2 shorter columns",
.caption = "CPU",
.draw = DualColCPUsMeter_draw,
.init = DualColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = DualColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -484,7 +464,7 @@ const MeterClass RightCPUs2Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -493,7 +473,7 @@ const MeterClass RightCPUs2Meter_class = {
.description = "CPUs (3&4/4): second half in 2 shorter columns",
.caption = "CPU",
.draw = DualColCPUsMeter_draw,
.init = DualColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = DualColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -505,7 +485,7 @@ const MeterClass AllCPUs4Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -514,7 +494,7 @@ const MeterClass AllCPUs4Meter_class = {
.description = "CPUs (1&2&3&4/4): all CPUs in 4 shorter columns",
.caption = "CPU",
.draw = QuadColCPUsMeter_draw,
.init = QuadColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = QuadColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -526,7 +506,7 @@ const MeterClass LeftCPUs4Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -535,7 +515,7 @@ const MeterClass LeftCPUs4Meter_class = {
.description = "CPUs (1-4/8): first half in 4 shorter columns",
.caption = "CPU",
.draw = QuadColCPUsMeter_draw,
.init = QuadColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = QuadColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -547,7 +527,7 @@ const MeterClass RightCPUs4Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -556,7 +536,7 @@ const MeterClass RightCPUs4Meter_class = {
.description = "CPUs (5-8/8): second half in 4 shorter columns",
.caption = "CPU",
.draw = QuadColCPUsMeter_draw,
.init = QuadColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = QuadColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -568,7 +548,7 @@ const MeterClass AllCPUs8Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -577,7 +557,7 @@ const MeterClass AllCPUs8Meter_class = {
.description = "CPUs (1-8/8): all CPUs in 8 shorter columns",
.caption = "CPU",
.draw = OctoColCPUsMeter_draw,
.init = OctoColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = OctoColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -589,7 +569,7 @@ const MeterClass LeftCPUs8Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -598,7 +578,7 @@ const MeterClass LeftCPUs8Meter_class = {
.description = "CPUs (1-8/16): first half in 8 shorter columns",
.caption = "CPU",
.draw = OctoColCPUsMeter_draw,
.init = OctoColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = OctoColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
Expand All @@ -610,7 +590,7 @@ const MeterClass RightCPUs8Meter_class = {
.display = CPUMeter_display
},
.updateValues = AllCPUsMeter_updateValues,
.defaultMode = CUSTOM_METERMODE,
.defaultMode = BAR_METERMODE,
.isMultiColumn = true,
.total = 100.0,
.attributes = CPUMeter_attributes,
Expand All @@ -619,7 +599,7 @@ const MeterClass RightCPUs8Meter_class = {
.description = "CPUs (9-16/16): second half in 8 shorter columns",
.caption = "CPU",
.draw = OctoColCPUsMeter_draw,
.init = OctoColCPUsMeter_init,
.init = CPUMeterCommonInit,
.updateMode = OctoColCPUsMeter_updateMode,
.done = AllCPUsMeter_done
};
6 changes: 3 additions & 3 deletions Compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ int Compat_faccessat(int dirfd,
}

// Fallback to stat(2)/lstat(2) depending on flags
struct stat statinfo;
struct stat sb;
if (flags) {
ret = lstat(pathname, &statinfo);
ret = lstat(pathname, &sb);
} else {
ret = stat(pathname, &statinfo);
ret = stat(pathname, &sb);
}

return ret;
Expand Down
5 changes: 2 additions & 3 deletions Compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,8 @@ ssize_t Compat_readlink(openat_arg_t dirfd,
# endif
#endif

/* C23 will guarantee static_assert is a keyword or a macro */
/* FIXME: replace 202300L with proper value once C23 is published */
#if (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 202300L
/* C23 guarantees static_assert is a keyword or a macro */
#if (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 202311L
# if !defined(static_assert)
# define static_assert(expr, msg) _Static_assert(expr, msg)
# endif
Expand Down
14 changes: 7 additions & 7 deletions FunctionBar.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,25 @@ static const int FunctionBar_EnterEscEvents[] = {13, 27};
static int currentLen = 0;

FunctionBar* FunctionBar_newEnterEsc(const char* enter, const char* esc) {
const char* functions[] = {enter, esc, NULL};
const char* functions[FUNCTIONBAR_MAXEVENTS + 1] = {enter, esc, NULL};
return FunctionBar_new(functions, FunctionBar_EnterEscKeys, FunctionBar_EnterEscEvents);
}

FunctionBar* FunctionBar_new(const char* const* functions, const char* const* keys, const int* events) {
FunctionBar* this = xCalloc(1, sizeof(FunctionBar));
this->functions = xCalloc(16, sizeof(char*));
this->functions = xCalloc(FUNCTIONBAR_MAXEVENTS + 1, sizeof(char*));
if (!functions) {
functions = FunctionBar_FLabels;
}
for (int i = 0; i < 15 && functions[i]; i++) {
for (int i = 0; i < FUNCTIONBAR_MAXEVENTS && functions[i]; i++) {
this->functions[i] = xStrdup(functions[i]);
}
if (keys && events) {
this->staticData = false;
this->keys.keys = xCalloc(15, sizeof(char*));
this->events = xCalloc(15, sizeof(int));
this->keys.keys = xCalloc(FUNCTIONBAR_MAXEVENTS, sizeof(char*));
this->events = xCalloc(FUNCTIONBAR_MAXEVENTS, sizeof(int));
int i = 0;
while (i < 15 && functions[i]) {
while (i < FUNCTIONBAR_MAXEVENTS && functions[i]) {
this->keys.keys[i] = xStrdup(keys[i]);
this->events[i] = events[i];
i++;
Expand All @@ -64,7 +64,7 @@ FunctionBar* FunctionBar_new(const char* const* functions, const char* const* ke
}

void FunctionBar_delete(FunctionBar* this) {
for (int i = 0; i < 15 && this->functions[i]; i++) {
for (int i = 0; i < FUNCTIONBAR_MAXEVENTS && this->functions[i]; i++) {
free(this->functions[i]);
}
free(this->functions);
Expand Down