126b76271a
Resolves: RHEL-58317 Resolves: RHEL-53438 Resolves: RHEL-36576 Resolves: RHEL-54006 Signed-off-by: Tao Liu <ltao@redhat.com>
269 lines
11 KiB
Diff
269 lines
11 KiB
Diff
From da75aae4effd6bc276bb1b882d68617cd02aa8e0 Mon Sep 17 00:00:00 2001
|
|
From: Rosen Penev <rosenp@gmail.com>
|
|
Date: Sun, 7 Jul 2024 17:17:33 -0700
|
|
Subject: [PATCH 37/44] conver strncmp to g_str_has_prefix
|
|
|
|
Avoids implicit bool conversions.
|
|
|
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
---
|
|
cputree.c | 2 +-
|
|
irqbalance.c | 21 +++++++++------------
|
|
numa.c | 2 +-
|
|
procinterrupts.c | 6 +++---
|
|
ui/irqbalance-ui.c | 30 +++++++++++++++---------------
|
|
ui/ui.c | 6 +++---
|
|
6 files changed, 32 insertions(+), 35 deletions(-)
|
|
|
|
diff --git a/cputree.c b/cputree.c
|
|
index 4820bdf..49b2f37 100644
|
|
--- a/cputree.c
|
|
+++ b/cputree.c
|
|
@@ -380,7 +380,7 @@ static void do_one_cpu(char *path)
|
|
entry = readdir(dir);
|
|
if (!entry)
|
|
break;
|
|
- if (strncmp(entry->d_name, "node", 4) == 0) {
|
|
+ if (g_str_has_prefix(entry->d_name, "node")) {
|
|
char *end;
|
|
int num;
|
|
num = strtol(entry->d_name + 4, &end, 10);
|
|
diff --git a/irqbalance.c b/irqbalance.c
|
|
index 4f3b97d..491a912 100644
|
|
--- a/irqbalance.c
|
|
+++ b/irqbalance.c
|
|
@@ -154,7 +154,7 @@ static void parse_command_line(int argc, char **argv)
|
|
add_cl_banned_module(optarg);
|
|
break;
|
|
case 'p':
|
|
- if (!strncmp(optarg, "off", strlen(optarg)))
|
|
+ if (g_str_has_prefix(optarg, "off"))
|
|
power_thresh = ULONG_MAX;
|
|
else {
|
|
power_thresh = strtoull(optarg, &endptr, 10);
|
|
@@ -443,15 +443,14 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
|
|
goto out_close;
|
|
}
|
|
|
|
- if (!strncmp(buff, "stats", strlen("stats"))) {
|
|
+ if (g_str_has_prefix(buff, "stats")) {
|
|
char *stats = NULL;
|
|
for_each_object(numa_nodes, get_object_stat, &stats);
|
|
send(sock, stats, strlen(stats), 0);
|
|
free(stats);
|
|
}
|
|
- if (!strncmp(buff, "settings ", strlen("settings "))) {
|
|
- if (!(strncmp(buff + strlen("settings "), "sleep ",
|
|
- strlen("sleep ")))) {
|
|
+ if (g_str_has_prefix(buff, "settings ")) {
|
|
+ if (g_str_has_prefix(buff + strlen("settings "), "sleep ")) {
|
|
char *sleep_string = malloc(
|
|
sizeof(char) * (recv_size - strlen("settings sleep ") + 1));
|
|
|
|
@@ -465,8 +464,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
|
|
sleep_interval = new_iterval;
|
|
}
|
|
free(sleep_string);
|
|
- } else if (!(strncmp(buff + strlen("settings "), "ban irqs ",
|
|
- strlen("ban irqs ")))) {
|
|
+ } else if (g_str_has_prefix(buff + strlen("settings "), "ban irqs ")) {
|
|
char *end;
|
|
char *irq_string = malloc(
|
|
sizeof(char) * (recv_size - strlen("settings ban irqs ") + 1));
|
|
@@ -479,7 +477,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
|
|
g_list_free_full(cl_banned_irqs, free);
|
|
cl_banned_irqs = NULL;
|
|
need_rescan = 1;
|
|
- if (!strncmp(irq_string, "NONE", strlen("NONE"))) {
|
|
+ if (g_str_has_prefix(irq_string, "NONE")) {
|
|
free(irq_string);
|
|
goto out_close;
|
|
}
|
|
@@ -488,8 +486,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
|
|
add_cl_banned_irq(irq);
|
|
} while((irq = strtoul(end, &end, 10)));
|
|
free(irq_string);
|
|
- } else if (!(strncmp(buff + strlen("settings "), "cpus ",
|
|
- strlen("cpus")))) {
|
|
+ } else if (g_str_has_prefix(buff + strlen("settings "), "cpus ")) {
|
|
banned_cpumask_from_ui = NULL;
|
|
free(cpu_ban_string);
|
|
cpu_ban_string = NULL;
|
|
@@ -503,7 +500,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
|
|
recv_size - strlen("settings cpus "));
|
|
cpu_ban_string[recv_size - strlen("settings cpus ")] = '\0';
|
|
banned_cpumask_from_ui = strtok(cpu_ban_string, " ");
|
|
- if (banned_cpumask_from_ui && !strncmp(banned_cpumask_from_ui, "NULL", strlen("NULL"))) {
|
|
+ if (banned_cpumask_from_ui && g_str_has_prefix(banned_cpumask_from_ui, "NULL")) {
|
|
banned_cpumask_from_ui = NULL;
|
|
free(cpu_ban_string);
|
|
cpu_ban_string = NULL;
|
|
@@ -511,7 +508,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
|
|
need_rescan = 1;
|
|
}
|
|
}
|
|
- if (!strncmp(buff, "setup", strlen("setup"))) {
|
|
+ if (g_str_has_prefix(buff, "setup")) {
|
|
char banned[512];
|
|
char *setup = calloc(strlen("SLEEP ") + 11 + 1, 1);
|
|
char *newptr = NULL;
|
|
diff --git a/numa.c b/numa.c
|
|
index 5143ea0..a79f16e 100644
|
|
--- a/numa.c
|
|
+++ b/numa.c
|
|
@@ -84,7 +84,7 @@ void build_numa_node_list(void)
|
|
if (!entry)
|
|
break;
|
|
if ((entry->d_type == DT_DIR) &&
|
|
- (strncmp(entry->d_name, "node", 4) == 0) &&
|
|
+ g_str_has_prefix(entry->d_name, "node") &&
|
|
isdigit(entry->d_name[4])) {
|
|
add_one_node(strtoul(&entry->d_name[4], NULL, 10));
|
|
}
|
|
diff --git a/procinterrupts.c b/procinterrupts.c
|
|
index e7ba653..4d04bf2 100644
|
|
--- a/procinterrupts.c
|
|
+++ b/procinterrupts.c
|
|
@@ -85,7 +85,7 @@ static int check_platform_device(char *name, struct irq_info *info)
|
|
|
|
log(TO_ALL, LOG_DEBUG, "Checking entry %s\n", ent->d_name);
|
|
for (i = 0; pdev_irq_info[i].d_name != NULL; i++) {
|
|
- if (!strncmp(ent->d_name, pdev_irq_info[i].d_name, strlen(pdev_irq_info[i].d_name))) {
|
|
+ if (g_str_has_prefix(ent->d_name, pdev_irq_info[i].d_name)) {
|
|
info->type = pdev_irq_info[i].type;
|
|
info->class = pdev_irq_info[i].class;
|
|
rc = 0;
|
|
@@ -171,8 +171,8 @@ void init_irq_class_and_type(char *savedline, struct irq_info *info, int irq)
|
|
* /proc/interrupts format defined, after of interrupt type
|
|
* the reset string is mark the irq desc name.
|
|
*/
|
|
- if (strncmp(irq_name, "Level", strlen("Level")) == 0 ||
|
|
- strncmp(irq_name, "Edge", strlen("Edge")) == 0)
|
|
+ if (!g_str_has_prefix(irq_name, "Level") ||
|
|
+ !g_str_has_prefix(irq_name, "Edge"))
|
|
break;
|
|
#endif
|
|
}
|
|
diff --git a/ui/irqbalance-ui.c b/ui/irqbalance-ui.c
|
|
index f4cc48f..4a6832a 100644
|
|
--- a/ui/irqbalance-ui.c
|
|
+++ b/ui/irqbalance-ui.c
|
|
@@ -157,21 +157,21 @@ void parse_setup(char *setup_data)
|
|
setup.banned_irqs = NULL;
|
|
setup.banned_cpus = NULL;
|
|
token = strtok_r(copy, " ", &ptr);
|
|
- if(strncmp(token, "SLEEP", strlen("SLEEP")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "SLEEP")) goto out;
|
|
setup.sleep = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
/* Parse banned IRQ data */
|
|
- while(!strncmp(token, "IRQ", strlen("IRQ"))) {
|
|
+ while(g_str_has_prefix(token, "IRQ")) {
|
|
new_irq = g_malloc(sizeof(irq_t));
|
|
new_irq->vector = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "LOAD", strlen("LOAD")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "LOAD")) goto out;
|
|
new_irq->load = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "DIFF", strlen("DIFF")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "DIFF")) goto out;
|
|
new_irq->diff = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(ptr, " ", &ptr);
|
|
- if(strncmp(token, "CLASS", strlen("CLASS")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "CLASS")) goto out;
|
|
new_irq->class = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
new_irq->is_banned = 1;
|
|
new_irq->assigned_to = NULL;
|
|
@@ -180,7 +180,7 @@ void parse_setup(char *setup_data)
|
|
new_irq = NULL;
|
|
}
|
|
|
|
- if(strncmp(token, "BANNED", strlen("BANNED")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "BANNED")) goto out;
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
for(i = strlen(token) - 1; i >= 0; i--) {
|
|
if (token[i] == ',')
|
|
@@ -285,7 +285,7 @@ void parse_into_tree(char *data)
|
|
token = strtok_r(copy, " ", &ptr);
|
|
while(token != NULL) {
|
|
/* Parse node data */
|
|
- if(strncmp(token, "TYPE", strlen("TYPE")) != 0) {
|
|
+ if(!g_str_has_prefix(token, "TYPE")) {
|
|
g_free(copy);
|
|
goto out;
|
|
}
|
|
@@ -297,28 +297,28 @@ void parse_into_tree(char *data)
|
|
parent = parent->parent;
|
|
}
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "NUMBER", strlen("NUMBER")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "NUMBER")) goto out;
|
|
new->number = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "LOAD", strlen("LOAD")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "LOAD")) goto out;
|
|
new->load = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "SAVE_MODE", strlen("SAVE_MODE")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "SAVE_MODE")) goto out;
|
|
new->is_powersave = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
|
|
/* Parse assigned IRQ data */
|
|
- while((token != NULL) && (!strncmp(token, "IRQ", strlen("IRQ")))) {
|
|
+ while(token && g_str_has_prefix(token, "IRQ")) {
|
|
new_irq = g_malloc(sizeof(irq_t));
|
|
new_irq->vector = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "LOAD", strlen("LOAD")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "LOAD")) goto out;
|
|
new_irq->load = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "DIFF", strlen("DIFF")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "DIFF")) goto out;
|
|
new_irq->diff = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
token = strtok_r(NULL, " ", &ptr);
|
|
- if(strncmp(token, "CLASS", strlen("CLASS")) != 0) goto out;
|
|
+ if(!g_str_has_prefix(token, "CLASS")) goto out;
|
|
new_irq->class = strtol(strtok_r(NULL, " ", &ptr), NULL, 10);
|
|
new_irq->is_banned = 0;
|
|
new->irqs = g_list_append(new->irqs, new_irq);
|
|
@@ -326,7 +326,7 @@ void parse_into_tree(char *data)
|
|
new_irq = NULL;
|
|
}
|
|
|
|
- if((token == NULL) || (strncmp(token, "IRQ", strlen("IRQ")) != 0)) {
|
|
+ if(!token || !g_str_has_prefix(token, "IRQ")) {
|
|
new->parent = parent;
|
|
if(parent == NULL) {
|
|
tree = g_list_append(tree, new);
|
|
diff --git a/ui/ui.c b/ui/ui.c
|
|
index 752744a..8325bcd 100644
|
|
--- a/ui/ui.c
|
|
+++ b/ui/ui.c
|
|
@@ -336,9 +336,9 @@ void handle_cpu_banning(void)
|
|
show_frame();
|
|
show_footer();
|
|
refresh();
|
|
- char settings_string[1024] = "settings cpus \0";
|
|
+ char settings_string[1024] = "settings cpus ";
|
|
for_each_cpu(all_cpus, get_new_cpu_ban_values, settings_string);
|
|
- if(!strcmp("settings cpus \0", settings_string)) {
|
|
+ if(g_str_has_prefix(settings_string, "settings cpus ")) {
|
|
strncpy(settings_string + strlen(settings_string),
|
|
"NULL", 1024 - strlen(settings_string));
|
|
}
|
|
@@ -654,7 +654,7 @@ void handle_irq_banning(void)
|
|
refresh();
|
|
char settings_string[1024] = BAN_IRQS;
|
|
for_each_irq(all_irqs, get_new_irq_ban_values, settings_string);
|
|
- if(!strcmp(BAN_IRQS, settings_string)) {
|
|
+ if(g_str_has_prefix(settings_string, BAN_IRQS)) {
|
|
strncpy(settings_string + strlen(settings_string),
|
|
" NONE", 1024 - strlen(settings_string));
|
|
}
|
|
--
|
|
2.47.0
|
|
|