[ https://issues.apache.org/jira/browse/XERCESC-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12618923#action_12618923 ]
rajachandar edited comment on XERCESC-1658 at 7/31/08 10:52 PM: ----------------------------------------------------------------- Hi, i am also getting this error 'Type:XMLPlatformException, Message:Could not close the file' when using xerces-c_2_7_0 during parsing xml CC Compiler : Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25 platform : solaris OS : SunOS 5.10 Generic_125100-05 sun4u sparc SUNW,Sun-Fire-V490 was (Author: rajachandar): Hi, i am also getting this error 'Type:XMLPlatformException, Message:Could not close the file' when using xerces-c_2_7_0 during parsing xml CC Compiler : Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25 platform : solaris OS : SunOS 5.10 Generic_125100-05 sun4u sparc SUNW,Sun-Fire-V490 > Inaccurate error message "Type:XMLPlatformException, Message:Could not close > the file" > -------------------------------------------------------------------------------------- > > Key: XERCESC-1658 > URL: https://issues.apache.org/jira/browse/XERCESC-1658 > Project: Xerces-C++ > Issue Type: Improvement > Components: Validating Parser (XML Schema) > Affects Versions: 2.7.0 > Environment: Solaris 10 > Reporter: Paul Fee > Assignee: Alberto Massari > > XMLPlatformUtils::openFile() in SolarisPlatformUtils.cpp:227 directly returns > the result of the open(2) system call. > This can return -1 on error, such as "File not found". However other parts > of Xerces take this return could without further validation. Also, when an > error occurs, valuable information is available for a short time in errno, > this information (i.e. the reason why -1 was return) is not captured for use > in error messages. > An example of when the return is stored is in > BinFileInputStream::BinFileInputStream(const XMLCh* const fileName, > MemoryManager* const manager) > Here fSource can end up with a value of -1, which in turn means that the > destructor for BinFileInputStream will fail. > BinFileInputStream::~BinFileInputStream() > { > if (fSource) > XMLPlatformUtils::closeFile(fSource, fMemoryManager); > } > It detects that fSource is non-zero and tries to close the file, but -1 is > not a valid file descriptor. > Hence we end up with the inaccurate error message "Could not close the file". > Error checking surrounding XMLPlatformUtils::openFile() should be improved. > Thank you, > Paul -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]