On Apr 13, 2013, at 9:40 PM, Hugh McMaster wrote: > Am 13.04.2013 15:39, schrieb Hugh McMaster: >> I've been adding a new handler to Wine's server. Unfortunately, I've run >> into a problem with C_ASSERT that I can't seem to resolve. >> >> In server/request.h, I've added the following code: >> >> C_ASSERT( FIELD_OFFSET(struct get_desktop_workarea_request, spi_workarea) == >> 16 ); >> C_ASSERT( sizeof(struct get_desktop_workarea_request) == 16 ); >> C_ASSERT( FIELD_OFFSET(struct get_desktop_workarea_reply, screen_x) == 4 ); >> C_ASSERT( FIELD_OFFSET(struct get_desktop_workarea_reply, screen_y) == 4 ); >> C_ASSERT( sizeof(struct get_desktop_workarea_reply) == 8 ); >> >> But the compiler ends with output errors, as in the following: >> >> In file included from request.c:69:0: >> request.h:1527:1: error: size of unnamed array is negative >> request.h:1528:1: error: size of unnamed array is negative >> request.h:1529:1: error: size of unnamed array is negative >> request.h:1530:1: error: size of unnamed array is negative >> request.h:1531:1: error: size of unnamed array is negative >> >> Each error represents the C_ASSERT code listed above. >> >> I'm probably missing something obvious here. Can someone please offer any >> advice on resolving these errors? > >>> we'd need more info like the actual struct get_desktop_workarea_request > > Hallo André, I missed your response to the list. > > This is what I have done. Wine compiles perfectly if I uncomment the > C_ASSERT lines. I note that Charles Davis said in another response that > request.h should not be modified. > > *** server/protocol.def *** > /* Retrieve the desktop workarea */ > @REQ(get_desktop_workarea) > RECT spi_workarea; /* values from SystemParametersInfo */ That should be a rectangle_t. The server doesn't actually use native Windows types.
Chip