- emit_term(ct, cn, cn->u.st.term, strlen(cn->u.st.term),
- pr, client_data);
+ struct cql_node *ne = cn->u.st.extra_terms;
+ int r;
+ if (ne)
+ {
+ (*pr)("@", client_data);
+ (*pr)(op, client_data);
+ (*pr)(" ", client_data);
+ }
+ r = emit_term(ct, cn, addinfo, cn->u.st.term, strlen(cn->u.st.term),
+ pr, client_data);
+ for (; !r && ne; ne = ne->u.st.extra_terms)
+ {
+ if (ne->u.st.extra_terms)
+ {
+ (*pr)("@", client_data);
+ (*pr)(op, client_data);
+ (*pr)(" ", client_data);
+ }
+ r = emit_term(ct, cn, addinfo, ne->u.st.term, strlen(ne->u.st.term),
+ pr, client_data);
+ }
+ return r;