mksh/mksh.logging/exec.c
void
flushcom(bool all)
{
	struct tbl *tp;
	struct tstate ts;

	for (ktwalk(&ts, &taliases); (tp = ktnext(&ts)) != NULL; )
		if ((tp->flag&ISSET) && (all || !mksh_abspath(tp->val.s))) {
			if (tp->flag&ALLOC) {
				tp->flag &= ~(ALLOC|ISSET);
				afree(tp->val.s, APERM);
			}
			tp->flag &= ~ISSET;
		}
}
/*
 * flush executable commands with relative paths
 * (just relative or all?)
 */
flush executable commands with relative paths
(just relative or all?)
flush executable commands with relative paths ( just relative or all? )
void
flushcom(bool all)
{
	struct tbl *tp;
	struct tstate ts;
	for (ktwalk(&ts, &taliases); (tp = ktnext(&ts)) != NULL; )
		if ((tp->flag&ISSET) && (all || !mksh_abspath(tp->val.s))) {
			if (tp->flag&ALLOC) {
				tp->flag &= ~(ALLOC|ISSET);
				afree(tp->val.s, APERM);
			}
			tp->flag &= ~ISSET;
		}
}
void flushcom ( bool all ) { struct tbl * tp ; struct tstate ts ; for ( ktwalk ( & ts , & taliases ) ; ( tp = ktnext ( & ts ) ) != NULL ; ) if ( ( tp -> flag & ISSET ) && ( all || ! mksh_abspath ( tp -> val . s ) ) ) { if ( tp -> flag & ALLOC ) { tp -> flag &= ~ ( ALLOC | ISSET ) ; afree ( tp -> val . s , APERM ) ; } tp -> flag &= ~ ISSET ; } }
flush executable commands with relative paths
 (just relative or all?)
flush executable commands with relative paths ( just relative or all? )