On Mon, Oct 15, 2018 at 12:07:14PM +0100, Frediano Ziglio wrote: > Code generated for demarshallers define and declare some types and > functions. > However these types and functions are also declared separately in > other headers resulting in potential ABI mismatch if the different I'd prefer that we explicitly name these "other headers" rather than letting the reader go down on a hunt for them. Apart from this, series looks good to me, Acked-by: Christophe Fergeau <cfergeau@xxxxxxxxxx> Christophe > declarations do not match. > Using a common header shared between generated code and code using > these functions prevent potentially multiple different declarations. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > common/Makefile.am | 2 +- > .../{client_demarshallers.h => demarshallers.h} | 16 ++++++++++------ > common/meson.build | 2 +- > python_modules/demarshal.py | 1 + > tests/test-marshallers.c | 2 +- > 5 files changed, 14 insertions(+), 9 deletions(-) > rename common/{client_demarshallers.h => demarshallers.h} (62%) > > Changes since v1: > - use a single header instead of 2; > - add patches for spice-server and spice-gtk. > > diff --git a/common/Makefile.am b/common/Makefile.am > index d8e30d1..da0d941 100644 > --- a/common/Makefile.am > +++ b/common/Makefile.am > @@ -21,6 +21,7 @@ libspice_common_la_SOURCES = \ > backtrace.h \ > canvas_utils.c \ > canvas_utils.h \ > + demarshallers.h \ > draw.h \ > lines.c \ > lines.h \ > @@ -63,7 +64,6 @@ EXTRA_libspice_common_la_SOURCES = \ > $(NULL) > > libspice_common_client_la_SOURCES = \ > - client_demarshallers.h \ > client_marshallers.h \ > ssl_verify.c \ > ssl_verify.h \ > diff --git a/common/client_demarshallers.h b/common/demarshallers.h > similarity index 62% > rename from common/client_demarshallers.h > rename to common/demarshallers.h > index 43c7e7d..0accb62 100644 > --- a/common/client_demarshallers.h > +++ b/common/demarshallers.h > @@ -14,8 +14,8 @@ > You should have received a copy of the GNU Lesser General Public > License along with this library; if not, see <http://www.gnu.org/licenses/>. > */ > -#ifndef _H_DEMARSHAL > -#define _H_DEMARSHAL > +#ifndef COMMON_DEMARSHALLERS_H_ > +#define COMMON_DEMARSHALLERS_H_ > > #include <stddef.h> > #include <spice/macros.h> > @@ -23,12 +23,16 @@ > SPICE_BEGIN_DECLS > > typedef void (*message_destructor_t)(uint8_t *message); > -typedef uint8_t * (*spice_parse_channel_func_t)(uint8_t *message_start, uint8_t *message_end, uint16_t message_type, int minor, > - size_t *size_out, message_destructor_t *free_message); > +typedef uint8_t * (*spice_parse_channel_func_t)(uint8_t *message_start, uint8_t *message_end, > + uint16_t message_type, int minor, > + size_t *size_out, > + message_destructor_t *free_message); > > -spice_parse_channel_func_t spice_get_server_channel_parser(uint32_t channel, unsigned int *max_message_type); > +spice_parse_channel_func_t > +spice_get_server_channel_parser(uint32_t channel, unsigned int *max_message_type); > +spice_parse_channel_func_t > +spice_get_client_channel_parser(uint32_t channel, unsigned int *max_message_type); > > SPICE_END_DECLS > > #endif > - > diff --git a/common/meson.build b/common/meson.build > index 36ba43b..6ac55dc 100644 > --- a/common/meson.build > +++ b/common/meson.build > @@ -6,6 +6,7 @@ spice_common_sources = [ > 'backtrace.h', > 'canvas_utils.c', > 'canvas_utils.h', > + 'demarshallers.h', > 'draw.h', > 'lines.c', > 'lines.h', > @@ -57,7 +58,6 @@ if spice_common_generate_client_code > ] > > spice_common_client_sources = [ > - 'client_demarshallers.h', > 'client_marshallers.h', > 'ssl_verify.c', > 'ssl_verify.h', > diff --git a/python_modules/demarshal.py b/python_modules/demarshal.py > index 6fe3c66..36213b1 100644 > --- a/python_modules/demarshal.py > +++ b/python_modules/demarshal.py > @@ -1229,6 +1229,7 @@ def write_includes(writer): > writer.writeln("#include <spice/protocol.h>") > writer.writeln("#include <spice/macros.h>") > writer.writeln('#include <common/mem.h>') > + writer.writeln('#include <common/demarshallers.h>') > writer.newline() > writer.writeln("#ifdef _MSC_VER") > writer.writeln("#pragma warning(disable:4101)") > diff --git a/tests/test-marshallers.c b/tests/test-marshallers.c > index 02fbcd1..a70ac95 100644 > --- a/tests/test-marshallers.c > +++ b/tests/test-marshallers.c > @@ -22,7 +22,7 @@ > #include <string.h> > > #include <common/marshaller.h> > -#include <common/client_demarshallers.h> > +#include <common/demarshallers.h> > #include "generated_test_enums.h" > #include "generated_test_marshallers.h" > > -- > 2.17.2 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel