rem: t1->t_dtyp == TAND || t1->t_dtyp == TOR) { t = (struct command *) calloc(1, sizeof (*t));
add: t1->t_dtyp == TAND || t1->t_dtyp == TOR) { t = (struct command *)xcalloc(1, sizeof (*t));
context: syn0(struct wordent *p1, struct wordent *p2, int flags){	struct wordent *p;	struct command *t, *t1;	int l;#ifdef TRACE	tprintf("TRACE- syn0()\n");#endif	l = 0;	for (p = p1; p != p2; p = p->next)		switch (p->word[0]) {		case '(':			l++;			continue;		case ')':			l--;			if (l < 0)				seterr("Too many )'s");			continue;		case '|':			if (p->word[1] == '|')				continue;			/* fall into ... */		case '>':			if (p->next != p2 && eq(p->next->word, S_AND /*"&"*/))				p = p->next;			continue;		case '&':			if (l != 0)				break;			if (p->word[1] == '&')				continue;			t1 = syn1(p1, p, flags);			if (t1->t_dtyp == TLST ||    			    t1->t_dtyp == TAND ||    			    t1->t_dtyp == TOR) {				t = (struct command *) calloc(1, sizeof (*t));				t->t_dtyp = TPAR;				t->t_dflg = FAND|FINT;				t->t_dspr = t1;				t1 = t;			} else				t1->t_dflg |= FAND|FINT;			t = (struct command *) calloc(1, sizeof (*t));			t->t_dtyp = TLST;			t->t_dflg = 0;			t->t_dcar = t1;			t->t_dcdr = syntax(p, p2, flags);			return(t);		}	if (l == 0)		return (syn1(p1, p2, flags));	seterr("Too many ('s");	return (0);}