summaryrefslogtreecommitdiffstats
path: root/RichString.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2021-01-11 09:36:42 +0100
committerDaniel Lange <DLange@git.local>2021-01-11 09:36:42 +0100
commit8a67d7f0866bf9451aad301e98059daa5c18e7c3 (patch)
tree87a1c740851ac87b6a92798fb150dfb1f8949280 /RichString.c
parent0b89c66f58b5d79d3948ba80da6faab139afdcc9 (diff)
parent3bb731c645d1bcde6ecf6ca23e44eb6655da8726 (diff)
Merge branch 'RichString_attrn' of cgzones/htop
Diffstat (limited to 'RichString.c')
-rw-r--r--RichString.c22
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) {

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