Lines Matching refs:spec_p
52 static boolean_t spec_match(spec_t * spec_p, char *str);
94 spec_dup(spec_t * spec_p)
98 new_p = spec(strdup(spec_p->str), spec_p->type);
112 spec_t *spec_p;
114 while ((spec_p = (spec_t *) queue_next(&list_p->qn, &list_p->qn))) {
115 (void) queue_remove(&spec_p->qn);
117 if (spec_p->str)
118 free(spec_p->str);
119 if (spec_p->regexp_p)
120 free(spec_p->regexp_p);
121 free(spec_p);
155 spec_t *spec_p = NULL;
157 while ((spec_p = (spec_t *) queue_next(&list_p->qn, &spec_p->qn))) {
158 switch (spec_p->type) {
160 (void) fprintf(stream, "'%s'", spec_p->str);
163 (void) fprintf(stream, "/%s/", spec_p->str);
177 spec_match(spec_t * spec_p,
180 if (!spec_p)
183 switch (spec_p->type) {
185 return ((strcmp(spec_p->str, str) == 0));
188 return ((step(str, spec_p->regexp_p) != NULL));
202 spec_attrtrav(spec_t * spec_p,
275 if (spec_match(spec_p, refattr)) {
277 (*fun) (spec_p, refattr, refvals, calldatap);
279 (*fun) (spec_p, refattr, emptystr, calldatap);
298 spec_valtrav(spec_t * spec_p,
314 if (spec_match(spec_p, valstr))
315 (*fun) (spec_p, valstr, calldatap);
322 if (spec_match(spec_p, s0))
323 (*fun) (spec_p, s0, calldatap);
333 if (spec_match(spec_p, s0))
334 (*fun) (spec_p, s0, calldatap);
355 if (spec_match(spec_p, s0))
356 (*fun) (spec_p, s0, calldatap);
388 if (spec_match(spec_p, v)) {
389 (*fun) (spec_p, v, calldatap);