diff options
author | Daniel Lange <DLange@git.local> | 2021-01-11 09:36:42 +0100 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2021-01-11 09:36:42 +0100 |
commit | 8a67d7f0866bf9451aad301e98059daa5c18e7c3 (patch) | |
tree | 87a1c740851ac87b6a92798fb150dfb1f8949280 /RichString.c | |
parent | 0b89c66f58b5d79d3948ba80da6faab139afdcc9 (diff) | |
parent | 3bb731c645d1bcde6ecf6ca23e44eb6655da8726 (diff) |
Merge branch 'RichString_attrn' of cgzones/htop
Diffstat (limited to 'RichString.c')
-rw-r--r-- | RichString.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/RichString.c b/RichString.c index 3e3d3703..9b69e98c 100644 --- a/RichString.c +++ b/RichString.c @@ -73,12 +73,10 @@ static inline int RichString_writeFromAscii(RichString* this, int attrs, const c return len; } -inline void RichString_setAttrn(RichString* this, int attrs, int start, int finish) { - cchar_t* ch = this->chptr + start; - finish = CLAMP(finish, 0, this->chlen - 1); - for (int i = start; i <= finish; i++) { - ch->attr = attrs; - ch++; +inline void RichString_setAttrn(RichString* this, int attrs, int start, int charcount) { + int end = CLAMP(start + charcount, 0, this->chlen); + for (int i = start; i < end; i++) { + this->chptr[i].attr = attrs; } } @@ -110,12 +108,10 @@ static inline int RichString_writeFromAscii(RichString* this, int attrs, const c return RichString_writeFromWide(this, attrs, data_c, from, len); } -void RichString_setAttrn(RichString* this, int attrs, int start, int finish) { - chtype* ch = this->chptr + start; - finish = CLAMP(finish, 0, this->chlen - 1); - for (int i = start; i <= finish; i++) { - *ch = (*ch & 0xff) | attrs; - ch++; +void RichString_setAttrn(RichString* this, int attrs, int start, int charcount) { + int end = CLAMP(start + charcount, 0, this->chlen); + for (int i = start; i < end; i++) { + this->chptr[i] = (this->chptr[i] & 0xff) | attrs; } } @@ -148,7 +144,7 @@ void RichString_appendChr(RichString* this, char c, int count) { } void RichString_setAttr(RichString* this, int attrs) { - RichString_setAttrn(this, attrs, 0, this->chlen - 1); + RichString_setAttrn(this, attrs, 0, this->chlen); } int RichString_appendWide(RichString* this, int attrs, const char* data) { |