Hello, it also fails when creating the FILE *f = (FILE*) xmlFileOpen( "C:\\test_data\\testxml.xml"); or using the file descriptor:
int fd = _open("C:\\test_data\\testxml.xml", _O_CREAT | _O_RDWR); xmlOutputBufferPtr output = xmlOutputBufferCreateFd(fd, NULL); Does anyone have an idea on where the issue could be? Best regards, Sylvain On Sat, Apr 16, 2016 at 11:59 AM, Sylvain Pointeau < sylvain.point...@gmail.com> wrote: > hello again, > > I investigated a bit more with my own compiled libxml2 in debug mode, the > stack trace is: > > libxml2.dll!_invalid_parameter(const wchar_t * const expression, const > wchar_t * const function_name, const wchar_t * const file_name, const > unsigned int line_number, const unsigned int reserved) Line 91 C++ > libxml2.dll!_invalid_parameter_noinfo() Line 97 C++ > libxml2.dll!_write(int fh, const void * buffer, unsigned int size) Line > 48 C++ > > libxml2.dll!__acrt_stdio_flush_nolock(_iobuf * public_stream) Line 152 > C++ > libxml2.dll!_fflush_nolock(_iobuf * public_stream) Line 114 C++ > libxml2.dll!fflush(_iobuf * stream) Line 94 C++ > libxml2.dll!xmlFileFlush(void * context) Line 1104 C > libxml2.dll!xmlOutputBufferClose(_xmlOutputBuffer * out) Line 2606 C > > Best regards, > Sylvain > > > > On Sat, Apr 16, 2016 at 11:25 AM, Sylvain Pointeau < > sylvain.point...@gmail.com> wrote: > >> Hello, >> >> using >> xmlOutputBufferPtr output = xmlOutputBufferCreateFilename("C >> :\\myfolder\testdata.xml", 0, 0); >> works... >> >> what can be wrong with xmlOutputBufferCreateFile? >> >> Best regards, >> Sylvain >> >> On Sat, Apr 16, 2016 at 10:23 AM, Sylvain Pointeau < >> sylvain.point...@gmail.com> wrote: >> >>> Hello, >>> >>> porting my program on windows, I noticed that xmlOutputBufferCreateFile >>> raised a message I/O error : Bad file descriptor. Below is the sample >>> program that crashes for me: >>> >>> FILE *f = fopen("C:\\myfolder\testdata.xml", "w"); >>> >>> xmlOutputBufferPtr output = xmlOutputBufferCreateFile(f, NULL); >>> >>> xmlOutputBufferWriteString(output, "WHY DO YOU CRASH?"); >>> >>> xmlOutputBufferClose(output); <- at this moment it displays I/O error : >>> Bad file descriptor >>> >>> fclose(f); >>> >>> I linked on libs pre-compiled for win32, >>> I also tried with the lib I compiled myself, it even crashes in this >>> case (it does not display IO error) >>> >>> Please note that the parsing (SAX) runs well. >>> >>> Do you have any idea? is it a bug or something I am not doing well? >>> >>> Best regards, >>> Sylvain >>> >> >> >
_______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml