---
 util-linux/chrt.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/util-linux/chrt.c b/util-linux/chrt.c
index 5c5513aeb..8fd4b7bea 100644
--- a/util-linux/chrt.c
+++ b/util-linux/chrt.c
@@ -36,17 +36,20 @@
 #include <sched.h>
 #include "libbb.h"
 
-static const struct {
-       int policy;
-       char name[sizeof("SCHED_OTHER")];
-} policies[] = {
-       {SCHED_OTHER, "SCHED_OTHER"},
-       {SCHED_FIFO, "SCHED_FIFO"},
-       {SCHED_RR, "SCHED_RR"},
-       {SCHED_BATCH, "SCHED_BATCH"},
-       {0 /* unused */, ""},
-       {SCHED_IDLE, "SCHED_IDLE"}
-};
+static const char* get_policy_name(int pol)
+{
+       if (pol == SCHED_OTHER)
+               return "SCHED_OTHER";
+       if (pol == SCHED_FIFO)
+               return "SCHED_FIFO";
+       if (pol == SCHED_RR)
+               return "SCHED_RR";
+       if (pol == SCHED_BATCH)
+               return "SCHED_BATCH";
+       if (pol == SCHED_IDLE)
+               return "SCHED_IDLE";
+       return "";
+}
 
 static void show_min_max(int pol)
 {
@@ -57,7 +60,7 @@ static void show_min_max(int pol)
        min = sched_get_priority_min(pol);
        if ((max|min) < 0)
                fmt = "%s not supported\n";
-       printf(fmt, policies[pol].name, min, max);
+       printf(fmt, get_policy_name(pol), min, max);
 }
 
 #define OPT_m (1<<0)
@@ -127,7 +130,7 @@ int chrt_main(int argc UNUSED_PARAM, char **argv)
                if (pol < 0)
                        bb_perror_msg_and_die("can't %cet pid %d's policy", 
'g', (int)pid);
                printf("pid %d's %s scheduling policy: %s\n",
-                               pid, current_new, policies[pol].name);
+                               pid, current_new, get_policy_name(pol));
                if (sched_getparam(pid, &sp))
                        bb_perror_msg_and_die("can't get pid %d's attributes", 
(int)pid);
                printf("pid %d's %s scheduling priority: %d\n",
-- 
2.14.1


_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to