- ret[k]->attributes =
- (char**)realloc(ret[k]->attributes,
- (l-i+1)*sizeof(char*));
- ret[k]->values =
- (char**)realloc(ret[k]->values,
- (l-i+1)*sizeof(char*));
- if(!(ret[k]->attributes) ||
- !(ret[k]->values))
- return(NULL);
+ char **tmp;
+ tmp = (char**)realloc(ret[k]->attributes, (l-i+1)*sizeof(char*));
+ if(tmp == NULL)
+ goto fail;
+ ret[k]->attributes = tmp;
+ ret[k]->attributes[l-i] = NULL;
+ tmp = (char**)realloc(ret[k]->values, (l-i+1)*sizeof(char*));
+ if(tmp == NULL)
+ goto fail;
+ ret[k]->values = tmp;
+ ret[k]->values[l-i] = NULL;
+