summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testprogs/win32/rpcecho/Makefile7
-rw-r--r--testprogs/win32/rpcecho/rpcecho.idl8
-rw-r--r--testprogs/win32/rpcecho/server.c6
3 files changed, 17 insertions, 4 deletions
diff --git a/testprogs/win32/rpcecho/Makefile b/testprogs/win32/rpcecho/Makefile
index 253ebedb71..ca0c823eab 100644
--- a/testprogs/win32/rpcecho/Makefile
+++ b/testprogs/win32/rpcecho/Makefile
@@ -1,6 +1,5 @@
-CC=E:\VC98\bin\cl -nologo
INCLUDES=-I
-CFLAGS=$(INCLUDES) -Zi
+CFLAGS=$(INCLUDES) -Zi -nologo
LIBS=rpcrt4.lib
all: client server
@@ -12,10 +11,10 @@ rpcecho.h rpcecho_s.c rpcecho_c.c: rpcecho.idl rpcecho.acf
midl rpcecho.idl
client: client.obj rpcecho_c.obj utils.obj
- $(CC) -o client client.obj rpcecho_c.obj utils.obj $(LIBS)
+ $(CC) $(CFLAGS) -o client client.obj rpcecho_c.obj utils.obj $(LIBS)
server: server.obj rpcecho_s.obj utils.obj
- $(CC) -o server server.obj rpcecho_s.obj utils.obj $(LIBS)
+ $(CC) $(CFLAGS) -o server server.obj rpcecho_s.obj utils.obj $(LIBS)
client.obj: rpcecho.h client.c
server.obj: rpcecho.h server.c
diff --git a/testprogs/win32/rpcecho/rpcecho.idl b/testprogs/win32/rpcecho/rpcecho.idl
index deb07e2528..a0d9dbc4c6 100644
--- a/testprogs/win32/rpcecho/rpcecho.idl
+++ b/testprogs/win32/rpcecho/rpcecho.idl
@@ -138,4 +138,12 @@ interface rpcecho
[in,out,ref,switch_is(*foo1)] echo_Enum3 *foo3
);
+ typedef struct {
+ uint32 x;
+ [size_is(x)] uint16 surrounding[*];
+ } echo_Surrounding;
+
+ void echo_TestSurrounding(
+ [in,out,ref] echo_Surrounding *data
+ );
}
diff --git a/testprogs/win32/rpcecho/server.c b/testprogs/win32/rpcecho/server.c
index 112eb24206..888199db3d 100644
--- a/testprogs/win32/rpcecho/server.c
+++ b/testprogs/win32/rpcecho/server.c
@@ -133,6 +133,12 @@ void echo_TestEnum(echo_Enum1 *foo1,
foo2->e1 = ECHO_ENUM2;
}
+void echo_TestSurrounding(echo_Surrounding *data)
+{
+ printf("Incoming array of size %d\n", data->x);
+ data->x *= 2;
+}
+
void main(int argc, char **argv)
{
RPC_STATUS status;