Move mergeCommand to global process struct

This commit is contained in:
Benny Baumann
2021-04-10 11:10:50 +02:00
committed by BenBE
parent 94a52cb5c9
commit cdb660adab
5 changed files with 55 additions and 55 deletions

View File

@ -55,6 +55,35 @@ typedef enum ProcessField_ {
struct Settings_;
/* Holds information about regions of the cmdline that should be
* highlighted (e.g. program basename, delimiter, comm). */
typedef struct ProcessCmdlineHighlight_ {
size_t offset; /* first character to highlight */
size_t length; /* How many characters to highlight, zero if unused */
int attr; /* The attributes used to highlight */
int flags; /* Special flags used for selective highlighting, zero for always */
} ProcessCmdlineHighlight;
/* ProcessMergedCommand is populated by Process_makeCommandStr: It
* contains the merged Command string, and the information needed by
* Process_writeCommand to color the string. str will be NULL for kernel
* threads and zombies */
typedef struct ProcessMergedCommand_ {
char *str; /* merged Command string */
size_t maxLen; /* maximum expected length of Command string */
size_t highlightCount; /* how many portions of cmdline to highlight */
ProcessCmdlineHighlight highlights[8]; /* which portions of cmdline to highlight */
bool separateComm : 1; /* whether comm is a separate field */
bool unmatchedExe : 1; /* whether exe matched with cmdline */
bool cmdlineChanged : 1; /* whether cmdline changed */
bool exeChanged : 1; /* whether exe changed */
bool commChanged : 1; /* whether comm changed */
bool prevMergeSet : 1; /* whether showMergedCommand was set */
bool prevPathSet : 1; /* whether showProgramPath was set */
bool prevCommSet : 1; /* whether findCommInCmdline was set */
bool prevCmdlineSet : 1; /* whether stripExeFromCmdline was set */
} ProcessMergedCommand;
typedef struct Process_ {
/* Super object for emulated OOP */
Object super;
@ -200,6 +229,11 @@ typedef struct Process_ {
unsigned int tree_right;
unsigned int tree_depth;
unsigned int tree_index;
/*
* Internal state for merged Command display
*/
ProcessMergedCommand mergedCommand;
} Process;
typedef struct ProcessFieldData_ {