mirror of
https://github.com/xzeldon/htop.git
synced 2025-07-15 21:44:36 +03:00
RichString_appendChr: add parameter to set attributes
Allows to set attributes when padding process fields in non-wide ncurses mode. Closes: #475
This commit is contained in:
27
RichString.c
27
RichString.c
@ -80,6 +80,15 @@ inline void RichString_setAttrn(RichString* this, int attrs, int start, int char
|
||||
}
|
||||
}
|
||||
|
||||
void RichString_appendChr(RichString* this, int attrs, char c, int count) {
|
||||
int from = this->chlen;
|
||||
int newLen = from + count;
|
||||
RichString_setLen(this, newLen);
|
||||
for (int i = from; i < newLen; i++) {
|
||||
this->chptr[i] = (CharType) { .attr = attrs, .chars = { c, 0 } };
|
||||
}
|
||||
}
|
||||
|
||||
int RichString_findChar(const RichString* this, char c, int start) {
|
||||
const wchar_t wc = btowc(c);
|
||||
const cchar_t* ch = this->chptr + start;
|
||||
@ -115,6 +124,15 @@ void RichString_setAttrn(RichString* this, int attrs, int start, int charcount)
|
||||
}
|
||||
}
|
||||
|
||||
void RichString_appendChr(RichString* this, int attrs, char c, int count) {
|
||||
int from = this->chlen;
|
||||
int newLen = from + count;
|
||||
RichString_setLen(this, newLen);
|
||||
for (int i = from; i < newLen; i++) {
|
||||
this->chptr[i] = c | attrs;
|
||||
}
|
||||
}
|
||||
|
||||
int RichString_findChar(const RichString* this, char c, int start) {
|
||||
const chtype* ch = this->chptr + start;
|
||||
for (int i = start; i < this->chlen; i++) {
|
||||
@ -134,15 +152,6 @@ void RichString_prune(RichString* this) {
|
||||
this->chptr = this->chstr;
|
||||
}
|
||||
|
||||
void RichString_appendChr(RichString* this, char c, int count) {
|
||||
int from = this->chlen;
|
||||
int newLen = from + count;
|
||||
RichString_setLen(this, newLen);
|
||||
for (int i = from; i < newLen; i++) {
|
||||
RichString_setChar(this, i, c);
|
||||
}
|
||||
}
|
||||
|
||||
void RichString_setAttr(RichString* this, int attrs) {
|
||||
RichString_setAttrn(this, attrs, 0, this->chlen);
|
||||
}
|
||||
|
Reference in New Issue
Block a user