14 if (TARG->str_state == SS_ARY) {
15 ary = stab_array(TARG->str_u.str_stab);
16 for (i = 0; i <= ary->ary_fill; i++)
17 do_chop(astr,ary->ary_array[i]);
20 if (TARG->str_state == SS_HASH) {
21 hash = stab_hash(TARG->str_u.str_stab);
22 (void)hiterinit(hash);
24 while (entry = hiternext(hash))
25 do_chop(astr,hiterval(hash,entry));
29 if (tmps && TARG->str_cur) {
30 tmps += TARG->str_cur - 1;
31 str_nset(astr,tmps,1); /* remember last char */
32 *tmps = '\0'; /* wipe it out */
33 TARG->str_cur = tmps - TARG->str_ptr;