cvs_addedrev = rcsnum_alloc(); rcsnum_aton("0", NULL, cvs_addedrev);
cvs_file_init(void){	int i;	size_t len;	char path[MAXPATHLEN], buf[MAXNAMLEN];	FILE *ifp;	struct passwd *pwd;	TAILQ_INIT(&cvs_ign_pats);	/* standard patterns to ignore */	for (i = 0; i < sizeof(cvs_ign_std)/sizeof(char *); i++)		cvs_file_ignore(cvs_ign_std[i]); 	/* read the cvsignore file in the user's home directory, if any */	pwd = getpwuid(getuid());	if (pwd != NULL) {		snprintf(path, sizeof(path), "%s/.cvsignore", pwd->pw_dir);		ifp = fopen(path, "r");		if (ifp == NULL) {			if (errno != ENOENT)				cvs_log(LP_ERRNO, "failed to open `%s'", path);		}		else {			while (fgets(buf, sizeof(buf), ifp) != NULL) {				len = strlen(buf);				if (len == 0)					continue;				if (buf[len - 1] != '\n') {					cvs_log(LP_ERR, "line too long in `%s'",					    path);				}				buf[--len] = '\0';				cvs_file_ignore(buf);			}			(void)fclose(ifp);		}	}	return (0);}