Lines Matching refs:subn
170 static NODE *snode P((NODE *subn, NODETYPE op, int sindex));
4040 snode(NODE *subn, NODETYPE op, int idx)
4050 for (n = subn; n != NULL; n = n->rnode) {
4066 subn = node(node(make_number(0.0), Node_field_spec, (NODE *) NULL),
4072 if (subn->rnode->lnode->type != Node_regex)
4073 subn->rnode->lnode = mk_rexp(subn->rnode->lnode);
4075 if (subn->rnode->rnode != NULL) { /* 3rd argument there */
4084 if (subn->lnode->type != Node_regex)
4085 subn->lnode = mk_rexp(subn->lnode);
4087 append_right(subn, node(node(make_number(0.0),
4092 else if (subn->rnode->rnode->lnode->type == Node_val) {
4096 } else if (! isassignable(subn->rnode->rnode->lnode)) {
4101 if (subn->lnode->type != Node_regex)
4102 subn->lnode = mk_rexp(subn->lnode);
4104 append_right(subn, node(node(make_number(0.0),
4111 append_right(subn,
4113 n = subn->rnode->rnode->lnode;
4115 subn->rnode->rnode->lnode = mk_rexp(n);
4117 subn->rnode->rnode->lnode->re_flags |= FS_DFLT;
4131 && subn->lnode->type == Node_val /* 1st arg is constant */
4132 && (subn->lnode->flags & STRCUR) != 0) { /* it's a string constant */
4134 NODE *str = subn->lnode;
4143 && subn->lnode->type == Node_val /* 1st arg is constant */
4144 && (subn->lnode->flags & STRCUR) != 0 /* it's a string constant */
4145 && subn->rnode->lnode->type == Node_val /* 2nd arg is constant too */
4146 && (subn->rnode->lnode->flags & STRCUR) != 0) { /* it's a string constant */
4148 NODE *str1 = subn->lnode;
4149 NODE *str2 = subn->rnode->lnode;
4157 r->subnode = subn;