****************************************************************************** ********************* IBIS GOLDEN PARSER BUG REPORT FORM ********************* ****************************************************************************** INSTRUCTIONS To report a bug in the IBIS golden parser. Please fill out the top part of the following form and send the complete form to ibischk-bug@eda.org. A list of reported bugs will be maintained on vhdl.org. ****************************************************************************** PARSER VERSION NUMBER: 3.2.9 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Win32 REPORTED BY: Alexander Loehr, Zuken DATE: Oct 17 2002 DESCRIPTION OF BUG: If there is an external package in an IBIS file on Win32 a temporary file is created in the root directory of the current drive. If the root directory is not writeable the package isn't found. I've attached a patch to fix it. Please apply it with patch -p1 < patchfile. --- cut to patchfile --- *** pkgmdl.c Thu Oct 17 09:02:54 2002 --- pkgmdl.c.new Fri Oct 11 15:27:39 2002 *************** PKGMDL_FindPkgFile(char sPackage_Model[] *** 350,356 **** char sFileLine[IBIS_FILENAME_MAX + 1]; char sFilePath[IBIS_FILENAME_MAX + 1]; ! char sTmpFileName[L_tmpnam + 1]; char sCmdStr[IBIS_FILENAME_MAX + L_tmpnam + 100]; FILE *pfTmp; STATUS eRetVal; --- 350,356 ---- char sFileLine[IBIS_FILENAME_MAX + 1]; char sFilePath[IBIS_FILENAME_MAX + 1]; ! char *sTmpFileName; char sCmdStr[IBIS_FILENAME_MAX + L_tmpnam + 100]; FILE *pfTmp; STATUS eRetVal; *************** PKGMDL_FindPkgFile(char sPackage_Model[] *** 373,379 **** } /* get a tmp file name */ ! if (tmpnam(sTmpFileName) == (char *)NULL) { ERRLOG_Bug("tmpnam() failed."); return(IBS_FAILURE); --- 373,379 ---- } /* get a tmp file name */ ! if ((sTmpFileName = tempnam(0, "ibisc")) == (char *)NULL) { ERRLOG_Bug("tmpnam() failed."); return(IBS_FAILURE); *************** PKGMDL_FindPkgFile(char sPackage_Model[] *** 397,402 **** --- 397,403 ---- no .pkg files */ itrace("system() failed", sCmdStr); s_removeFile((FILE *)NULL, sTmpFileName); + free(sTmpFileName); return(IBS_FAILURE); } *************** PKGMDL_FindPkgFile(char sPackage_Model[] *** 406,411 **** --- 407,413 ---- { ERRLOG_Bug("fopen(%s) failed.", sTmpFileName); s_removeFile(pfTmp, sTmpFileName); + free(sTmpFileName); return(IBS_FAILURE); } *************** PKGMDL_FindPkgFile(char sPackage_Model[] *** 466,471 **** --- 468,474 ---- } } s_removeFile(pfTmp, sTmpFileName); + free(sTmpFileName); return(eRetVal); } /************************************************************* --- end cut --- ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 76 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] MODERATE PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 4.0 (beta) FIXED DATE: July 15, 2003 NOTES ON BUG FIX: Classified at the November 1, 2002 IBIS Meeting Resolution to be discussed at the next meeting Resolved to be fixed at the next release at the December 13, 2002 IBIS Meeting * December 13, 2003 - Suggest change inserted, but not yet validated. Bug provisionally closed - Bob Ross ****************************************************************************** ******************************************************************************