else ctx->html_header_file = NULL;
ctx->id_mapping.num = id_mapping.num;
+ ctx->id_mapping.rules = (_edg_wll_mapping_rule*)malloc(ctx->id_mapping.num * sizeof(_edg_wll_mapping_rule));
for ( i = 0; i < ctx->id_mapping.num; i++ ) {
- ctx->id_mapping.rules[i]->a = strdup(id_mapping.rules[i]->a);
- ctx->id_mapping.rules[i]->b = strdup(id_mapping.rules[i]->b);
+ ctx->id_mapping.rules[i].a = strdup(id_mapping.rules[i].a);
+ ctx->id_mapping.rules[i].b = strdup(id_mapping.rules[i].b);
}
gettimeofday(&conn_start, 0);
return 0;
for (i = 0; i < mapping->num; i++) {
- if (edg_wll_gss_equal_subj(a, mapping->rules[i]->a) &&
- edg_wll_gss_equal_subj(b, mapping->rules[i]->b))
+ if (edg_wll_gss_equal_subj(a, mapping->rules[i].a) &&
+ edg_wll_gss_equal_subj(b, mapping->rules[i].b))
return 1;
- if (edg_wll_gss_equal_subj(a, mapping->rules[i]->b) &&
- edg_wll_gss_equal_subj(b, mapping->rules[i]->a))
+ if (edg_wll_gss_equal_subj(a, mapping->rules[i].b) &&
+ edg_wll_gss_equal_subj(b, mapping->rules[i].a))
return 1;
}
return 0;
char line[4096];
char *p, *a, *b;
int ret;
- struct _edg_wll_mapping_rule *rule = NULL, **tmp;
fd = fopen(file, "r");
if (fd == NULL)
p++;
b = p;
- rule = malloc(sizeof(*rule));
- if (rule == NULL) {
- ret = edg_wll_SetError(ctx, ENOMEM, "Not enough memory");
- goto end;
- }
- rule->a = strdup(a);
- rule->b = strdup(b);
- if (rule->a == NULL || rule->b == NULL) {
+
+ mapping->rules = realloc(mapping->rules, (mapping->num+1) * sizeof(_edg_wll_mapping_rule));
+ if (mapping->rules == NULL) {
ret = edg_wll_SetError(ctx, ENOMEM, "Not enough memory");
goto end;
}
-
- tmp = realloc(mapping->rules, (mapping->num+1) * sizeof(*tmp));
- if (tmp == NULL) {
+ if (!(mapping->rules[mapping->num].a = strdup(a)) ||
+ !(mapping->rules[mapping->num].b = strdup(b))) {
ret = edg_wll_SetError(ctx, ENOMEM, "Not enough memory");
goto end;
}
- mapping->rules = tmp;
- mapping->rules[mapping->num++] = rule;
- rule = NULL;
+ mapping->num++;
}
ret = 0;