mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-18 09:24:31 +00:00
MINOR: pattern: make pat_ref_append() return the newly added element
It's more convenient to return the element than to return just 0 or 1, as the next thing we'll want to do is to act on this element! In addition it was using variable arguments instead of consts, causing some reuse constraints which were also addressed. This doesn't change its use as a boolean, hence why call places were not modified.
This commit is contained in:
parent
8c2db71326
commit
f4edb72e0a
@ -189,7 +189,7 @@ struct pat_ref *pat_ref_lookupid(int unique_id);
|
||||
struct pat_ref *pat_ref_new(const char *reference, const char *display, unsigned int flags);
|
||||
struct pat_ref *pat_ref_newid(int unique_id, const char *display, unsigned int flags);
|
||||
struct pat_ref_elt *pat_ref_find_elt(struct pat_ref *ref, const char *key);
|
||||
int pat_ref_append(struct pat_ref *ref, char *pattern, char *sample, int line);
|
||||
struct pat_ref_elt *pat_ref_append(struct pat_ref *ref, const char *pattern, const char *sample, int line);
|
||||
int pat_ref_add(struct pat_ref *ref, const char *pattern, const char *sample, char **err);
|
||||
int pat_ref_set(struct pat_ref *ref, const char *pattern, const char *sample, char **err);
|
||||
int pat_ref_set_by_id(struct pat_ref *ref, struct pat_ref_elt *refelt, const char *value, char **err);
|
||||
|
@ -1893,40 +1893,40 @@ struct pat_ref *pat_ref_newid(int unique_id, const char *display, unsigned int f
|
||||
return ref;
|
||||
}
|
||||
|
||||
/* This function adds entry to <ref>. It can failed with memory error.
|
||||
* If the function fails, it returns 0.
|
||||
/* This function adds entry to <ref>. It can fail on memory error. It returns
|
||||
* the newly added element on success, or NULL on failure. The PATREF_LOCK on
|
||||
* <ref> must be held.
|
||||
*/
|
||||
int pat_ref_append(struct pat_ref *ref, char *pattern, char *sample, int line)
|
||||
struct pat_ref_elt *pat_ref_append(struct pat_ref *ref, const char *pattern, const char *sample, int line)
|
||||
{
|
||||
struct pat_ref_elt *elt;
|
||||
|
||||
elt = malloc(sizeof(*elt));
|
||||
if (!elt)
|
||||
return 0;
|
||||
goto fail;
|
||||
|
||||
elt->line = line;
|
||||
|
||||
elt->pattern = strdup(pattern);
|
||||
if (!elt->pattern) {
|
||||
free(elt);
|
||||
return 0;
|
||||
}
|
||||
if (!elt->pattern)
|
||||
goto fail;
|
||||
|
||||
if (sample) {
|
||||
elt->sample = strdup(sample);
|
||||
if (!elt->sample) {
|
||||
free(elt->pattern);
|
||||
free(elt);
|
||||
return 0;
|
||||
}
|
||||
if (!elt->sample)
|
||||
goto fail;
|
||||
}
|
||||
else
|
||||
elt->sample = NULL;
|
||||
|
||||
LIST_INIT(&elt->back_refs);
|
||||
LIST_ADDQ(&ref->head, &elt->list);
|
||||
|
||||
return 1;
|
||||
return elt;
|
||||
fail:
|
||||
if (elt)
|
||||
free(elt->pattern);
|
||||
free(elt);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This function create sample found in <elt>, parse the pattern also
|
||||
|
Loading…
Reference in New Issue
Block a user