Lines Matching refs:subn
44 static NODE *snode P((NODE *subn, NODETYPE op, int sindex));
2201 snode(NODE *subn, NODETYPE op, int idx)
2211 for (n = subn; n != NULL; n = n->rnode) {
2227 subn = node(node(make_number(0.0), Node_field_spec, (NODE *) NULL),
2233 if (subn->rnode->lnode->type != Node_regex)
2234 subn->rnode->lnode = mk_rexp(subn->rnode->lnode);
2236 if (subn->rnode->rnode != NULL) { /* 3rd argument there */
2245 if (subn->lnode->type != Node_regex)
2246 subn->lnode = mk_rexp(subn->lnode);
2248 append_right(subn, node(node(make_number(0.0),
2253 else if (subn->rnode->rnode->lnode->type == Node_val) {
2257 } else if (! isassignable(subn->rnode->rnode->lnode)) {
2262 if (subn->lnode->type != Node_regex)
2263 subn->lnode = mk_rexp(subn->lnode);
2265 append_right(subn, node(node(make_number(0.0),
2272 append_right(subn,
2274 n = subn->rnode->rnode->lnode;
2276 subn->rnode->rnode->lnode = mk_rexp(n);
2278 subn->rnode->rnode->lnode->re_flags |= FS_DFLT;
2292 && subn->lnode->type == Node_val /* 1st arg is constant */
2293 && (subn->lnode->flags & STRCUR) != 0) { /* it's a string constant */
2295 NODE *str = subn->lnode;
2304 && subn->lnode->type == Node_val /* 1st arg is constant */
2305 && (subn->lnode->flags & STRCUR) != 0 /* it's a string constant */
2306 && subn->rnode->lnode->type == Node_val /* 2nd arg is constant too */
2307 && (subn->rnode->lnode->flags & STRCUR) != 0) { /* it's a string constant */
2309 NODE *str1 = subn->lnode;
2310 NODE *str2 = subn->rnode->lnode;
2318 r->subnode = subn;