[PATCH] services: process_send_command: Initialize OVERLAPPED Offset

Jefferson Carpenter jeffersoncarpenter2 at gmail.com
Wed Mar 11 14:35:29 CDT 2020


Supersedes patch #180602

Added #define NONAMELESSSTRUCT to rpc.c so that it compiles regardless 
of nameless struct compiler support.

This seems like a good way to solve that problem in general, but I also 
really like the code in wordpad.c that goes

#ifdef NONAMELESSUNION
# define U(x)  (x).u
# define U2(x) (x).u2
# define U3(x) (x).u3
#else
# define U(x)  (x)
# define U2(x) (x)
# define U3(x) (x)
#endif

for its brevity and generality.

thanks,
Jefferson
-------------- next part --------------
From d4eceeca9a85a533ae65f67994ebb0c7f3256841 Mon Sep 17 00:00:00 2001
From: Jefferson Carpenter <jeffersoncarpenter2 at gmail.com>
Date: Wed, 11 Mar 2020 21:06:56 +0000
Subject: [PATCH] services: process_send_command: Initialize OVERLAPPED Offset
 and OffsetHigh.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48735
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2 at gmail.com>
---
 programs/services/rpc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index a657492a5f..0f2c1440c2 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -19,6 +19,7 @@
  */
 
 #define WIN32_LEAN_AND_MEAN
+#define NONAMELESSSTRUCT
 #define NONAMELESSUNION
 
 #include <stdarg.h>
@@ -1133,6 +1134,8 @@ static BOOL process_send_command(struct process_entry *process, const void *data
     DWORD count, ret;
     BOOL r;
 
+    overlapped.u.s.Offset = 0;
+    overlapped.u.s.OffsetHigh = 0;
     overlapped.hEvent = process->overlapped_event;
     r = WriteFile(process->control_pipe, data, size, &count, &overlapped);
     if (!r && GetLastError() == ERROR_IO_PENDING)
-- 
2.23.0



More information about the wine-devel mailing list