Lines Matching defs:plan
72 * process the command line and create a "plan" corresponding to the
78 PLAN *plan, *tail, *new;
82 * it is, create the appropriate node type and add the new plan node
83 * to the end of the existing plan. The resulting plan is a linked
84 * list of plan nodes. For example, the string:
88 * results in the plan:
92 * in this diagram, `[-name foo]' represents the plan node generated
94 * plan->next pointer.
96 for (plan = tail = NULL; *argv;) {
99 if (plan == NULL)
100 tail = plan = new;
116 if (plan == NULL) {
119 tail = plan = new;
123 new->next = plan;
124 plan = new;
137 * the command line has been completely processed into a search plan
138 * except for the (, ), !, and -o operators. Rearrange the plan so
139 * that the portions of the plan which are affected by the operators
159 plan = paren_squish(plan); /* ()'s */
160 plan = not_squish(plan); /* !'s */
161 plan = or_squish(plan); /* -o's */
162 return (plan);
169 * take a search plan and an array of search paths and executes the plan
173 find_execute(PLAN *plan, char *paths[])
230 * Call all the functions in the execution plan until one is
234 for (p = plan; p && (p->execute)(p, entry); p = p->next);