ior = (struct ioword **) alloc((int)(ior - iow) * sizeof(*ior), ap);
ior = (struct ioword **) alloc((ior - iow + 1) * sizeof(*ior), ap);
iocopy(iow, ap)	register struct ioword **iow;	Area *ap;{	register struct ioword **ior;	register int i;	for (ior = iow; *ior++ != NULL; )		;	ior = (struct ioword **) alloc((int)(ior - iow) * sizeof(*ior), ap);	for (i = 0; iow[i] != NULL; i++) {		register struct ioword *p, *q;		p = iow[i];		q = (struct ioword *) alloc(sizeof(*p), ap);		ior[i] = q;		*q = *p;		if (p->name != (char *) 0)			q->name = wdcopy(p->name, ap);		if (p->delim != (char *) 0)			q->delim = wdcopy(p->delim, ap);		if (p->heredoc != (char *) 0)			q->heredoc = str_save(p->heredoc, ap);	}	ior[i] = NULL;	return ior;}