diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /dviware/quicspool/libprofile/has.c |
Initial commit
Diffstat (limited to 'dviware/quicspool/libprofile/has.c')
-rw-r--r-- | dviware/quicspool/libprofile/has.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/dviware/quicspool/libprofile/has.c b/dviware/quicspool/libprofile/has.c new file mode 100644 index 0000000000..a215cd3674 --- /dev/null +++ b/dviware/quicspool/libprofile/has.c @@ -0,0 +1,63 @@ +static char *rcs = "$Header: has.c,v 1.1 88/01/15 12:17:00 simpson Rel $"; +/* +$Log: has.c,v $ + * Revision 1.1 88/01/15 12:17:00 simpson + * initial release + * + * Revision 0.1 87/12/11 17:02:12 simpson + * beta test + * +*/ +#include <stdio.h> +#include "profile.h" + +PROFILE_MARKER *profile_has_marker (s, m) +PROFILE_STANZA *s; +char *m; +{ + PROFILE_MARKER *x; + int result; + + for (x = s->marker; x; x = x->next) + if(glob_match(x->text, m) > 0) + return(x); + return((PROFILE_MARKER *)0); +} + +/* + * read down a linked list of stanzas looking + * for a stanza that has the requested markers + */ +PROFILE_STANZA *profile_has_stanza(s, marker) +PROFILE_STANZA *s; +char *marker[]; /* terminated by a null pointer */ +{ + int i; + PROFILE_STANZA *x; + + if (s == NULL) + return(s); + x = s; + do { + for (i = 0; marker[i] != NULL; i++) + if (profile_has_marker(x, marker[i]) == NULL) + break; + if (marker[i] == NULL) + return(x); + x = x->next; + } while (x != s && x != NULL); + + return((PROFILE_STANZA *)NULL); +} + +PROFILE_BINDING *profile_has_binding (s, b) +PROFILE_STANZA *s; +char *b; +{ + PROFILE_BINDING *x; + + for (x = s->binding; x; x = x->next) + if (glob_match(x->name, b) > 0) + return(x); + return((PROFILE_BINDING *)0); +} |