mirror of https://github.com/xzeldon/htop.git
Call character checking function with unsigned char
See https://wiki.sei.cmu.edu/confluence/display/c/STR37-C.+Arguments+to+character-handling+functions+must+be+representable+as+an+unsigned+char
This commit is contained in:
parent
1f5bd5c4c8
commit
8a849bc85a
|
@ -45,7 +45,7 @@ static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) {
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
if (ch < 255 && isalpha(ch))
|
if (0 < ch && ch < 255 && isalpha((unsigned char)ch))
|
||||||
result = Panel_selectByTyping(super, ch);
|
result = Panel_selectByTyping(super, ch);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ static HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
if (ch < 255 && isalpha(ch))
|
if (0 < ch && ch < 255 && isalpha((unsigned char)ch))
|
||||||
result = Panel_selectByTyping(super, ch);
|
result = Panel_selectByTyping(super, ch);
|
||||||
if (result == BREAK_LOOP)
|
if (result == BREAK_LOOP)
|
||||||
result = IGNORED;
|
result = IGNORED;
|
||||||
|
|
|
@ -91,7 +91,7 @@ static HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) {
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
if (ch < 255 && isalpha(ch))
|
if (0 < ch && ch < 255 && isalpha((unsigned char)ch))
|
||||||
result = Panel_selectByTyping(super, ch);
|
result = Panel_selectByTyping(super, ch);
|
||||||
if (result == BREAK_LOOP)
|
if (result == BREAK_LOOP)
|
||||||
result = IGNORED;
|
result = IGNORED;
|
||||||
|
|
2
IncSet.c
2
IncSet.c
|
@ -137,7 +137,7 @@ bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue
|
||||||
if (size == 0) return true;
|
if (size == 0) return true;
|
||||||
IncMode_find(mode, panel, getPanelValue, 1);
|
IncMode_find(mode, panel, getPanelValue, 1);
|
||||||
doSearch = false;
|
doSearch = false;
|
||||||
} else if (ch < 255 && isprint((char)ch)) {
|
} else if (0 < ch && ch < 255 && isprint((unsigned char)ch)) {
|
||||||
if (mode->index < INCMODE_MAX) {
|
if (mode->index < INCMODE_MAX) {
|
||||||
mode->buffer[mode->index] = ch;
|
mode->buffer[mode->index] = ch;
|
||||||
mode->index++;
|
mode->index++;
|
||||||
|
|
|
@ -79,7 +79,7 @@ static HandlerResult MainPanel_eventHandler(Panel* super, int ch) {
|
||||||
} else if (ch != ERR && ch > 0 && ch < KEY_MAX && this->keys[ch]) {
|
} else if (ch != ERR && ch > 0 && ch < KEY_MAX && this->keys[ch]) {
|
||||||
reaction |= (this->keys[ch])(this->state);
|
reaction |= (this->keys[ch])(this->state);
|
||||||
result = HANDLED;
|
result = HANDLED;
|
||||||
} else if (isdigit(ch)) {
|
} else if (0 < ch && ch < 255 && isdigit((unsigned char)ch)) {
|
||||||
MainPanel_pidSearch(this, ch);
|
MainPanel_pidSearch(this, ch);
|
||||||
} else {
|
} else {
|
||||||
if (ch != ERR) {
|
if (ch != ERR) {
|
||||||
|
|
2
Panel.c
2
Panel.c
|
@ -411,7 +411,7 @@ HandlerResult Panel_selectByTyping(Panel* this, int ch) {
|
||||||
this->eventHandlerState = xCalloc(100, sizeof(char));
|
this->eventHandlerState = xCalloc(100, sizeof(char));
|
||||||
char* buffer = this->eventHandlerState;
|
char* buffer = this->eventHandlerState;
|
||||||
|
|
||||||
if (ch > 0 && ch < 255 && isalnum(ch)) {
|
if (0 < ch && ch < 255 && isalnum((unsigned char)ch)) {
|
||||||
int len = strlen(buffer);
|
int len = strlen(buffer);
|
||||||
if (len < 99) {
|
if (len < 99) {
|
||||||
buffer[len] = ch;
|
buffer[len] = ch;
|
||||||
|
|
Loading…
Reference in New Issue