mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-26 00:27:54 -04:00
MINOR: pattern: find element in a reference
This function can be used to look for an entry in either an ACL or a MAP.
This commit is contained in:
parent
938c7fec87
commit
953f74d1b3
2 changed files with 18 additions and 0 deletions
|
|
@ -181,6 +181,7 @@ struct pat_ref *pat_ref_lookup(const char *reference);
|
|||
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);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -1408,6 +1408,23 @@ int pat_ref_delete(struct pat_ref *ref, const char *key)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* find and return an element <elt> matching <key> in a reference <ref>
|
||||
* return NULL if not found
|
||||
*/
|
||||
struct pat_ref_elt *pat_ref_find_elt(struct pat_ref *ref, const char *key)
|
||||
{
|
||||
struct pat_ref_elt *elt;
|
||||
|
||||
list_for_each_entry(elt, &ref->head, list) {
|
||||
if (strcmp(key, elt->pattern) == 0)
|
||||
return elt;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* This function modify the sample of the first pattern that match the <key>. */
|
||||
static inline int pat_ref_set_elt(struct pat_ref *ref, struct pat_ref_elt *elt,
|
||||
const char *value, char **err)
|
||||
|
|
|
|||
Loading…
Reference in a new issue