memmove(tfp->name, t, len);
memcpy(tfp->name, t, len);
ex_tagf_alloc(sp, str)	SCR *sp;	char *str;{	EX_PRIVATE *exp;	TAGF *tfp;	size_t len;	char *p, *t;	/* Free current queue. */	exp = EXP(sp);	while ((tfp = exp->tagfq.tqh_first) != NULL)		tagf_free(sp, tfp);	/* Create new queue. */	for (p = t = str;; ++p) {		if (*p == '\0' || isblank(*p)) {			if ((len = p - t) > 1) {				MALLOC_RET(sp, tfp, TAGF *, sizeof(TAGF));				MALLOC(sp, tfp->name, char *, len + 1);				if (tfp->name == NULL) {					free(tfp);					return (1);				}				memmove(tfp->name, t, len);				tfp->name[len] = '\0';				tfp->flags = 0;				TAILQ_INSERT_TAIL(&exp->tagfq, tfp, q);			}			t = p + 1;		}		if (*p == '\0')			 break;	}	return (0);}