When we remove the hacks in configure.ac and common/Makefile.am, two errors pop out: generated_server_demarshallers.c: In function ‘parse_msgc_smartcard_reader_add’: generated_server_demarshallers.c:1985:30: error: ‘mem_size’ undeclared (first use in this function); did you mean ‘nw_size’? data = (uint8_t *)malloc(mem_size); ^~~~~~~~ nw_size First one is caused by a missing declaration of mem_size, so we use the same condition that causes this code to be added to the check for the need of mem_size variable declaration in demarshal.py. generated_server_demarshallers.c:1985:30: note: each undeclared identifier is reported only once for each function it appears in generated_server_demarshallers.c:1994:15: error: ‘VSCMsgReaderAdd {aka struct VSCMsgReaderAdd}’ has no member named ‘reader_name’ memcpy(out->reader_name, in, reader_name__nelements); ^~ This second one is only a rename of 'reader_name' field to 'name', as specified in the VSCMsgReaderAdd structure in file vscard_common.h. Signed-off-by: Eduardo Lima (Etrunko) <etrunko@xxxxxxxxxx> --- common/Makefile.am | 2 -- configure.ac | 7 ------- python_modules/demarshal.py | 2 +- spice.proto | 2 +- 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/common/Makefile.am b/common/Makefile.am index 22aec80..ea15039 100644 --- a/common/Makefile.am +++ b/common/Makefile.am @@ -78,8 +78,6 @@ libspice_common_server_la_SOURCES = \ $(SERVER_MARSHALLERS) \ $(NULL) -libspice_common_server_la_CFLAGS = -DFIXME_SERVER_SMARTCARD - AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ diff --git a/configure.ac b/configure.ac index 3542161..5230223 100644 --- a/configure.ac +++ b/configure.ac @@ -63,11 +63,4 @@ AC_CONFIG_FILES([ docs/Makefile ]) -AH_BOTTOM([ -/* argh.. this is evil */ -#if defined(FIXME_SERVER_SMARTCARD) && defined(USE_SMARTCARD) -%:undef USE_SMARTCARD -#endif -]) - AC_OUTPUT diff --git a/python_modules/demarshal.py b/python_modules/demarshal.py index da87d44..9377869 100644 --- a/python_modules/demarshal.py +++ b/python_modules/demarshal.py @@ -1042,7 +1042,7 @@ def write_msg_parser(writer, message): msg_sizeof = message.sizeof() want_mem_size = (len(message.members) != 1 or message.members[0].is_fixed_nw_size() - or not message.members[0].is_array()) + or not (message.members[0].is_array() and message.has_attr("nocopy"))) writer.newline() if message.has_attr("ifdef"): diff --git a/spice.proto b/spice.proto index 76cfef2..6226c67 100644 --- a/spice.proto +++ b/spice.proto @@ -1416,7 +1416,7 @@ channel SmartcardChannel : BaseChannel { } @ctype(VSCMsgATR) atr = 101; message { - int8 reader_name[] @zero_terminated @nonnull; + int8 name[] @zero_terminated @nonnull; } @ctype(VSCMsgReaderAdd) reader_add = 101; } @ifdef(USE_SMARTCARD); -- 2.14.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel