Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
5df42586
Commit
5df42586
authored
Sep 16, 2016
by
Hisham
Browse files
Protect against strange values of SIGRTMIN and SIGRTMAX,
and change alignment of numbers.
parent
46d8f2ee
Changes
1
Show whitespace changes
Inline
Side-by-side
SignalsPanel.c
View file @
5df42586
...
@@ -40,26 +40,17 @@ Panel* SignalsPanel_new() {
...
@@ -40,26 +40,17 @@ Panel* SignalsPanel_new() {
}
}
}
}
#if (defined(SIGRTMIN) && defined(SIGRTMAX))
#if (defined(SIGRTMIN) && defined(SIGRTMAX))
// Real-time signals.
if
(
SIGRTMAX
-
SIGRTMIN
<=
100
)
{
// SIGRTMIN and SIGRTMAX expand to libc internal functions and we have to
static
char
buf
[
15
];
// grab their numbers at runtime.
for
(
int
sig
=
SIGRTMIN
;
sig
<=
SIGRTMAX
;
i
++
,
sig
++
)
{
static
char
buf
[
15
];
// 15 == sizeof("xx SIGRTMIN+nn")
int
rtmax
;
for
(
int
sig
=
SIGRTMIN
;
sig
<=
(
rtmax
=
SIGRTMAX
);
i
++
,
sig
++
)
{
// Every signal between SIGRTMIN and SIGRTMAX are denoted in "SIGRTMIN+n"
// notation. This matches glibc's strsignal(3) behavior.
// We deviate from behaviors of Bash, ksh and Solaris intentionally.
if
(
sig
==
rtmax
)
{
snprintf
(
buf
,
15
,
"%2d SIGRTMAX"
,
sig
);
}
else
{
int
n
=
sig
-
SIGRTMIN
;
int
n
=
sig
-
SIGRTMIN
;
snprintf
(
buf
,
15
,
"%2d SIGRTMIN%
+
d"
,
sig
,
n
);
snprintf
(
buf
,
15
,
"%2d SIGRTMIN%
-+3
d"
,
sig
,
n
);
if
(
n
==
0
)
{
if
(
n
==
0
)
{
buf
[
11
]
=
'\0'
;
buf
[
11
]
=
'\0'
;
}
}
}
Panel_set
(
this
,
i
,
(
Object
*
)
ListItem_new
(
buf
,
sig
));
Panel_set
(
this
,
i
,
(
Object
*
)
ListItem_new
(
buf
,
sig
));
}
}
}
#endif
#endif
Panel_setHeader
(
this
,
"Send signal:"
);
Panel_setHeader
(
this
,
"Send signal:"
);
Panel_setSelected
(
this
,
defaultPosition
);
Panel_setSelected
(
this
,
defaultPosition
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment