summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2021-04-24 12:06:49 +0200
committerBenBE <BenBE@geshi.org>2021-05-23 09:22:21 +0200
commitc0d02024407411f75a4d7d5b63f26b74c727027b (patch)
tree1252f8c71d108af939daa731bccc71e1bf5125d2
parent7224d0e0831ee53d5028915f87dffd51ffa0d6fa (diff)
Move LinuxProcess_getCommandStr to Process_getCommandStr
-rw-r--r--Process.c11
-rw-r--r--Process.h5
-rw-r--r--linux/LinuxProcess.c12
3 files changed, 13 insertions, 15 deletions
diff --git a/Process.c b/Process.c
index f6f4d48f..5334d885 100644
--- a/Process.c
+++ b/Process.c
@@ -521,8 +521,15 @@ void Process_done(Process* this) {
free(this->tty_name);
}
-static const char* Process_getCommandStr(const Process* p) {
- return p->cmdline ? p->cmdline : "";
+/* This function returns the string displayed in Command column, so that sorting
+ * happens on what is displayed - whether comm, full path, basename, etc.. So
+ * this follows Process_writeField(COMM) and Process_writeCommand */
+const char *Process_getCommandStr(const Process *this) {
+ if ((Process_isUserlandThread(this) && this->settings->showThreadNames) || !this->mergedCommand.str) {
+ return this->cmdline;
+ }
+
+ return this->mergedCommand.str;
}
const ProcessClass Process_class = {
diff --git a/Process.h b/Process.h
index f70ab571..d07a6d49 100644
--- a/Process.h
+++ b/Process.h
@@ -284,7 +284,7 @@ typedef struct ProcessClass_ {
#define As_Process(this_) ((const ProcessClass*)((this_)->super.klass))
-#define Process_getCommand(this_) (As_Process(this_)->getCommandStr ? As_Process(this_)->getCommandStr((const Process*)(this_)) : ((const Process*)(this_))->cmdline)
+#define Process_getCommand(this_) (As_Process(this_)->getCommandStr ? As_Process(this_)->getCommandStr((const Process*)(this_)) : Process_getCommandStr((const Process*)(this_)))
#define Process_compareByKey(p1_, p2_, key_) (As_Process(p1_)->compareByKey ? (As_Process(p1_)->compareByKey(p1_, p2_, key_)) : Process_compareByKey_Base(p1_, p2_, key_))
static inline pid_t Process_getParentPid(const Process* this) {
@@ -369,4 +369,7 @@ int Process_pidCompare(const void* v1, const void* v2);
int Process_compareByKey_Base(const Process* p1, const Process* p2, ProcessField key);
+// Avoid direct calls, use Process_getCommand instead
+const char *Process_getCommandStr(const Process *this);
+
#endif
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c
index bc6f09a8..155bea86 100644
--- a/linux/LinuxProcess.c
+++ b/linux/LinuxProcess.c
@@ -104,17 +104,6 @@ const ProcessFieldData Process_fields[LAST_PROCESSFIELD] = {
[CWD] = { .name ="CWD", .title = "CWD ", .description = "The current working directory of the process", .flags = PROCESS_FLAG_LINUX_CWD, },
};
-/* This function returns the string displayed in Command column, so that sorting
- * happens on what is displayed - whether comm, full path, basename, etc.. So
- * this follows LinuxProcess_writeField(COMM) and LinuxProcess_writeCommand */
-static const char* LinuxProcess_getCommandStr(const Process *this) {
- if ((Process_isUserlandThread(this) && this->settings->showThreadNames) || !this->mergedCommand.str) {
- return this->cmdline;
- }
-
- return this->mergedCommand.str;
-}
-
Process* LinuxProcess_new(const Settings* settings) {
LinuxProcess* this = xCalloc(1, sizeof(LinuxProcess));
Object_setClass(this, Class(LinuxProcess));
@@ -835,6 +824,5 @@ const ProcessClass LinuxProcess_class = {
.compare = Process_compare
},
.writeField = LinuxProcess_writeField,
- .getCommandStr = LinuxProcess_getCommandStr,
.compareByKey = LinuxProcess_compareByKey
};

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