return (NULL);
return (cf);
cvs_file_find(CVSFILE *hier, const char *path){	char *pp, *sp, pbuf[MAXPATHLEN];	CVSFILE *sf, *cf;	strlcpy(pbuf, path, sizeof(pbuf));	cf = hier;	pp = pbuf;	do {		sp = strchr(pp, '/');		if (sp != NULL)			*sp = '\0';		/* special case */		if (*pp == '.') {			if ((*(pp + 1) == '.') && (*(pp + 2) == '\0')) {				/* request to go back to parent */				if (cf->cf_parent == NULL) {					cvs_log(LP_NOTICE,					    "path %s goes back too far", path);					return (NULL);				}				cf = cf->cf_parent;				continue;			}			else if (*(pp + 1) == '\0')				continue;		}		TAILQ_FOREACH(sf, &(cf->cf_ddat->cd_files), cf_list)			if (cvs_file_cmpname(pp, sf->cf_name) == 0)				break;		if (sf == NULL)			return (NULL);		cf = sf;		pp = sp;	} while (sp != NULL);	return (NULL);}