Segfault when call kernel32 function
Thu Jan 6 17:41:00 GMT 2000
On Thu, 6 Jan 2000, Jamie Guinan wrote:
> I tried the same program with Mumit's gcc-2.95.2 distribution
> native on Win98. Same problem, "BuildCommDCB()" just keeps
> crashing. Both CRTDLL and MSVCRT versions.
> I think I can work around it with a combination of GetCommState()
> and SetCommState(), but I just find it weird that BuildCommDCB
> fails. Oh, well. :/
I believe the bug is in Windows itself. Even though the prototype
says that you can supply the first parameter as LPCSTR (ie.,
`const char *'), Windows kernel will try to play with the string
it in place (possibly reformatting it, or something of that sort).
1. Use -fwritable-strings option when compiling. Bad.
2. Use a static or allocated buffer and pass that instead.
static char mode_str = "9600,...";
BuildCommDCB (mode_str, &dcb);
Want to unsubscribe from this list?
Send a message to firstname.lastname@example.org
More information about the Cygwin