diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2015-04-09 15:40:27 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-04-09 15:40:46 -0300 |
commit | b291fba02b8d9bb52cd8a23ef5fffbba4f89ff0a (patch) | |
tree | 9ed44e15202cd6a8d1e5191c537e61f3101931bb /freebsd | |
parent | dc4576d327b6953e38ea21fc9ef0898640d65d99 (diff) |
Fixes to use platform-specific compare routines.
Diffstat (limited to 'freebsd')
-rw-r--r-- | freebsd/FreeBSDProcess.c | 20 | ||||
-rw-r--r-- | freebsd/FreeBSDProcessList.c | 2 |
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); |