server: Define a generic context structure instead of using the platform-specific version.
diff --git a/server/debugger.c b/server/debugger.c
index 9399cb3..c01ab45 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -49,7 +49,7 @@
enum debug_event_state state; /* event state */
int status; /* continuation status */
debug_event_t data; /* event data */
- CONTEXT context; /* register context */
+ context_t context; /* register context */
};
/* debug context */
@@ -652,11 +652,11 @@
if ((event = alloc_debug_event( current, EXCEPTION_DEBUG_EVENT, &data )))
{
- const CONTEXT *context = (const CONTEXT *)((char *)get_req_data() + req->len);
+ const context_t *context = (const context_t *)((char *)get_req_data() + req->len);
data_size_t size = get_req_data_size() - req->len;
memset( &event->context, 0, sizeof(event->context) );
- memcpy( &event->context, context, size );
+ memcpy( &event->context, context, min( sizeof(event->context), size ) );
current->context = &event->context;
if ((reply->handle = alloc_handle( current->process, event, SYNCHRONIZE, 0 )))
@@ -682,7 +682,7 @@
{
if (current->context == &event->context)
{
- data_size_t size = min( sizeof(CONTEXT), get_reply_max_size() );
+ data_size_t size = min( sizeof(context_t), get_reply_max_size() );
set_reply_data( &event->context, size );
current->context = NULL;
}