if ((rfp->rf_flags & RCS_WRITE) && !(rfp->rf_flags & RCS_SYNCED)) rcs_write(rfp);
rcs_close(RCSFILE *rfp){	struct rcs_delta *rdp;	struct rcs_lock *rlp;	struct rcs_sym *rsp;	if (rfp->rf_ref > 1) {		rfp->rf_ref--;		return;	}	while (!TAILQ_EMPTY(&(rfp->rf_delta))) {		rdp = TAILQ_FIRST(&(rfp->rf_delta));		TAILQ_REMOVE(&(rfp->rf_delta), rdp, rd_list);		rcs_freedelta(rdp);	}	while (!TAILQ_EMPTY(&(rfp->rf_symbols))) {		rsp = TAILQ_FIRST(&(rfp->rf_symbols));		TAILQ_REMOVE(&(rfp->rf_symbols), rsp, rs_list);		rcsnum_free(rsp->rs_num);		free(rsp->rs_name);		free(rsp);	}	while (!TAILQ_EMPTY(&(rfp->rf_locks))) {		rlp = TAILQ_FIRST(&(rfp->rf_locks));		TAILQ_REMOVE(&(rfp->rf_locks), rlp, rl_list);		rcsnum_free(rlp->rl_num);		free(rlp);	}	if (rfp->rf_head != NULL)		rcsnum_free(rfp->rf_head);	if (rfp->rf_branch != NULL)		rcsnum_free(rfp->rf_branch);	if (rfp->rf_path != NULL)		free(rfp->rf_path);	if (rfp->rf_comment != NULL)		free(rfp->rf_comment);	if (rfp->rf_expand != NULL)		free(rfp->rf_expand);	if (rfp->rf_desc != NULL)		free(rfp->rf_desc);	free(rfp);}