6 register STR **st = stack->ary_array;
8 register int items = arglast[2] - sp;
9 register char *delim = str_get(st[sp]);
11 int delimlen = st[sp]->str_cur;
15 len = (items > 0 ? (delimlen * (items - 1) ) : 0);
16 if (TARG->str_len < len + items) { /* current length is way too short */
19 len += (*st)->str_cur;
22 STR_GROW(TARG, len + 1); /* so try to pre-extend */
24 items = arglast[2] - sp;
29 str_sset(TARG, *st++);
34 for (; items > 0; items--,st++) {
35 str_ncat(TARG,delim,len);
40 for (; items > 0; items--,st++)