Segfault when call kernel32 function

Mumit Khan khan@NanoTech.Wisc.EDU
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

More information about the Cygwin mailing list