Small server protocol cleanups.

diff --git a/server/request.h b/server/request.h
index 6eeadea..9b8547d 100644
--- a/server/request.h
+++ b/server/request.h
@@ -52,7 +52,7 @@
 /* get the request vararg data */
 inline static void *get_req_data( const void *req )
 {
-    return ((union generic_request *)req + 1);
+    return (char *)current->buffer + ((struct request_header *)req)->var_offset;
 }
 
 /* get the request vararg size */