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