}
for (int i = 0; i < 32; i++) {
- g_autofree char *reg_name = g_strdup(reg_names[i]);
- char *reg1 = strtok(reg_name, "/");
- char *reg2 = strtok(NULL, "/");
+ g_auto(GStrv) reg_name = g_strsplit(reg_names[i], "/", 2);
- if (strcasecmp(reg1, name) == 0 ||
- (reg2 && strcasecmp(reg2, name) == 0)) {
+ g_assert(reg_name[0]);
+ g_assert(reg_name[1]);
+
+ if (g_ascii_strcasecmp(reg_name[0], name) == 0 ||
+ g_ascii_strcasecmp(reg_name[1], name) == 0) {
*val = vals[i];
return true;
}
}
for (int i = 0; i < 32; i++) {
- g_autofree char *reg_name = g_strdup(riscv_fpr_regnames[i]);
- char *reg1 = strtok(reg_name, "/");
- char *reg2 = strtok(NULL, "/");
+ g_auto(GStrv) reg_name = g_strsplit(riscv_fpr_regnames[i], "/", 2);
+
+ g_assert(reg_name[0]);
+ g_assert(reg_name[1]);
- if (strcasecmp(reg1, name) == 0 ||
- (reg2 && strcasecmp(reg2, name) == 0)) {
+ if (g_ascii_strcasecmp(reg_name[0], name) == 0 ||
+ g_ascii_strcasecmp(reg_name[1], name) == 0) {
*val = env->fpr[i];
return true;
}