if (strlen(lexToken) >= sizeof alias) { status = BadFontPath; break; }
ReadFontAlias(char *directory, Bool isFile, FontDirectoryPtr *pdir){    char		alias[MAXFONTNAMELEN];    char		font_name[MAXFONTNAMELEN];    char		alias_file[MAXFONTFILENAMELEN];    FILE		*file;    FontDirectoryPtr	dir;    int			token;    char		*lexToken;    int			status = Successful;    struct stat		statb;    dir = *pdir;    strcpy(alias_file, directory);    if (!isFile) {	if (directory[strlen(directory) - 1] != '/')	    strcat(alias_file, "/");	strcat(alias_file, FontAliasFile);    }    file = fopen(alias_file, "r");    if (!file)	return ((errno == ENOENT) ? Successful : BadFontPath);    if (!dir)	*pdir = dir = FontFileMakeDir(directory, 10);    if (!dir)    {	fclose (file);	return AllocError;    }    if (fstat (fileno (file), &statb) == -1)    {	fclose (file);	return BadFontPath;    }    dir->alias_mtime = statb.st_mtime;    while (status == Successful) {	token = lexAlias(file, &lexToken);	switch (token) {	case NEWLINE:	    break;	case DONE:	    fclose(file);	    return Successful;	case EALLOC:	    status = AllocError;	    break;	case NAME:	    strcpy(alias, lexToken);	    token = lexAlias(file, &lexToken);	    switch (token) {	    case NEWLINE:		if (strcmp(alias, "FILE_NAMES_ALIASES"))		    status = BadFontPath;		else if (!AddFileNameAliases(dir))		    status = AllocError;		break;	    case DONE:		status = BadFontPath;		break;	    case EALLOC:		status = AllocError;		break;	    case NAME:		CopyISOLatin1Lowered(alias, alias, strlen(alias));		CopyISOLatin1Lowered(font_name, lexToken, strlen(lexToken));		if (!FontFileAddFontAlias (dir, alias, font_name))		    status = AllocError;		break;	    }	}    }    fclose(file);    return status;}