Skip to content
Extraits de code Groupes Projets
Vérifiée Valider b0240972 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

Correct segfault

parent 2b82d5af
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!102Modules
......@@ -14,7 +14,7 @@ struct module_reg {
const char *name;
union {
reg_func func;
struct module_reg *obj;
struct module_reg **obj; /* First item of the array */
};
};
......@@ -29,7 +29,7 @@ struct lkt_module {
#define REG_BEGIN(reg) struct module_reg reg[] = {
#define REG_ADD(f) { .name = #f, .func = f },
#define REG_ADD_NAMED(n, f) { .name = n, .func = f },
#define REG_REGISTER(n, s) { .name = n, .obj = s },
#define REG_REGISTER(n, s) { .name = n, .obj = &s },
#define REG_END() { .name = NULL, .func = NULL } };
#define REG_DEFINE(reg) struct module_reg reg* = NULL;
......
......@@ -24,9 +24,9 @@ void *
__reg_get(struct module_reg *reg, const char *name)
{
int i;
for (i = 0; reg[i].name && reg[i].obj; ++i) {
if (STR_MATCH(reg[i].name, name))
return reg[i].obj;
for (i = 0; (reg + i)->name && (reg + i)->obj; ++i) {
if (STR_MATCH((reg + i)->name, name))
return (reg + i)->obj;
}
return NULL;
}
......@@ -35,9 +35,9 @@ reg_func
__reg_func(struct module_reg *reg, const char *name)
{
int i;
for (i = 0; reg[i].name && reg[i].func; ++i) {
if (STR_MATCH(reg[i].name, name))
return reg[i].func;
for (i = 0; (reg + i)->name && (reg + i)->func; ++i) {
if (STR_MATCH((reg + i)->name, name))
return (reg + i)->func;
}
return NULL;
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter