diff options
author | Daniel Lange <DLange@git.local> | 2018-04-11 01:26:28 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2018-04-11 01:26:28 +0200 |
commit | 097fb9e4a3460fe1b6b3fc645ef97acb44946141 (patch) | |
tree | 58ba6c6459b926f555a539fab1ec01ff4e93d9ce /RichString.c | |
parent | 2f3c2439d8d88cf7c1ecef0bcb2b33f747f3ed06 (diff) | |
parent | c60f4cf3c1d91bd786db8e081699f420f44631f3 (diff) | |
download | debian_htop-097fb9e4a3460fe1b6b3fc645ef97acb44946141.tar.gz debian_htop-097fb9e4a3460fe1b6b3fc645ef97acb44946141.tar.bz2 debian_htop-097fb9e4a3460fe1b6b3fc645ef97acb44946141.zip |
Updated version 2.2.0 from 'upstream/2.2.0'
with Debian dir ed195b175f9cd34e0ba2b22dfecc727ab25e1463
Diffstat (limited to 'RichString.c')
-rw-r--r-- | RichString.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/RichString.c b/RichString.c index e7dd4e8..370566a 100644 --- a/RichString.c +++ b/RichString.c @@ -63,6 +63,10 @@ typedef struct RichString_ { }*/ +#ifndef CLAMP +#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x))) +#endif + #define charBytes(n) (sizeof(CharType) * (n)) static void RichString_extendLen(RichString* this, int len) { @@ -103,6 +107,7 @@ static inline void RichString_writeFrom(RichString* this, int attrs, const char* 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++; @@ -132,6 +137,7 @@ static inline void RichString_writeFrom(RichString* this, int attrs, const char* 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++; |