summaryrefslogtreecommitdiffstats
path: root/freebsd
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-04-09 15:40:27 -0300
committerHisham Muhammad <hisham@gobolinux.org>2015-04-09 15:40:46 -0300
commitb291fba02b8d9bb52cd8a23ef5fffbba4f89ff0a (patch)
tree9ed44e15202cd6a8d1e5191c537e61f3101931bb /freebsd
parentdc4576d327b6953e38ea21fc9ef0898640d65d99 (diff)
Fixes to use platform-specific compare routines.
Diffstat (limited to 'freebsd')
-rw-r--r--freebsd/FreeBSDProcess.c20
-rw-r--r--freebsd/FreeBSDProcessList.c2
2 files changed, 16 insertions, 6 deletions
diff --git a/freebsd/FreeBSDProcess.c b/freebsd/FreeBSDProcess.c
index ab99ef7e..6e5720bb 100644
--- a/freebsd/FreeBSDProcess.c
+++ b/freebsd/FreeBSDProcess.c
@@ -36,6 +36,16 @@ typedef struct FreeBSDProcess_ {
}*/
+ProcessClass FreeBSDProcess_class = {
+ .super = {
+ .extends = Class(Process),
+ .display = Process_display,
+ .delete = Process_delete,
+ .compare = FreeBSDProcess_compare
+ },
+ .writeField = (Process_WriteField) FreeBSDProcess_writeField,
+};
+
ProcessFieldData Process_fields[] = {
[0] = { .name = "", .title = NULL, .description = NULL, .flags = 0, },
[PID] = { .name = "PID", .title = " PID ", .description = "Process/thread ID", .flags = 0, },
@@ -94,7 +104,7 @@ void Process_setupColumnWidths() {
FreeBSDProcess* FreeBSDProcess_new(Settings* settings) {
FreeBSDProcess* this = calloc(sizeof(FreeBSDProcess), 1);
- Object_setClass(this, Class(Process));
+ Object_setClass(this, Class(FreeBSDProcess));
Process_init(&this->super, settings);
return this;
}
@@ -105,7 +115,7 @@ void Process_delete(Object* cast) {
free(this);
}
-void Process_writeField(Process* this, RichString* str, ProcessField field) {
+void FreeBSDProcess_writeField(Process* this, RichString* str, ProcessField field) {
//FreeBSDProcess* fp = (FreeBSDProcess*) this;
char buffer[256]; buffer[255] = '\0';
int attr = CRT_colors[DEFAULT_COLOR];
@@ -113,13 +123,13 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) {
switch (field) {
// add FreeBSD-specific fields here
default:
- Process_writeDefaultField(this, str, field);
+ Process_writeField(this, str, field);
return;
}
RichString_append(str, attr, buffer);
}
-long Process_compare(const void* v1, const void* v2) {
+long FreeBSDProcess_compare(const void* v1, const void* v2) {
FreeBSDProcess *p1, *p2;
Settings *settings = ((Process*)v1)->settings;
if (settings->direction == 1) {
@@ -132,7 +142,7 @@ long Process_compare(const void* v1, const void* v2) {
switch (settings->sortKey) {
// add FreeBSD-specific fields here
default:
- return Process_defaultCompare(v1, v2);
+ return Process_compare(v1, v2);
}
}
diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c
index 6a8a5fcb..aaebc928 100644
--- a/freebsd/FreeBSDProcessList.c
+++ b/freebsd/FreeBSDProcessList.c
@@ -45,7 +45,7 @@ static int pageSizeKb;
ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) {
FreeBSDProcessList* fpl = calloc(1, sizeof(FreeBSDProcessList));
ProcessList* pl = (ProcessList*) fpl;
- ProcessList_init(pl, usersTable, pidWhiteList, userId);
+ ProcessList_init(pl, Class(FreeBSDProcess), usersTable, pidWhiteList, userId);
int cpus = 1;
size_t sizeof_cpus = sizeof(cpus);

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