irqbalance/0037-conver-strncmp-to-g_str_has_prefix.patch
Tao Liu 6e2f297d49 Rebase to upstream commit (b4b6f194da)
Resolves: RHEL-58318

Signed-off-by: Tao Liu <ltao@redhat.com>
2024-11-07 10:03:21 +13:00

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