From 8c95a9e8b7ae0e2a480d7a6de0bf4ca933799c7e Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Thu, 30 Apr 2015 00:45:21 -0400 Subject: [PATCH] Use dxcommon version of the packing library. This common code was moved to dxcommon a long time ago, remove our local copy and reference the common version directly. --- Makefile.am | 3 +- common | 2 +- src/pack.c | 123 ---------------------------------------------------- src/pack.h | 55 ----------------------- 4 files changed, 3 insertions(+), 180 deletions(-) delete mode 100644 src/pack.c delete mode 100644 src/pack.h diff --git a/Makefile.am b/Makefile.am index 74463a4..60474a5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,6 +13,7 @@ CLEANFILES = EXTRA_DIST = $(MAINTAINERCLEANFILES) m4/gnulib-cache.m4 AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \ + -I$(top_srcdir)/$(DX_BASEDIR)/src \ -I$(top_builddir)/lib -I$(top_srcdir)/lib \ -DPKGLIBDIR=\"$(pkglibdir)\" -DPKGDATADIR=\"$(pkgdatadir)\" @@ -36,7 +37,7 @@ upkg_LDFLAGS = $(AM_LDFLAGS) -export-dynamic upkg_LDADD = libuobject.la libupkg.la libgnu.la $(GLIB_LIBS) $(upkg_OBJECTS): $(gnulib_headers) -libupkg_la_SOURCES = src/libupkg.c src/pack.c +libupkg_la_SOURCES = src/libupkg.c common/src/pack.c common/src/pack.h uobjectdir = $(includedir)/uobject uobject_HEADERS = src/uobject/uobject.h src/uobject/exportable.h \ diff --git a/common b/common index 483b5af..8ff6f88 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 483b5af7a619117ae6ec3435bb8689e764e928a0 +Subproject commit 8ff6f88c85fd93411fc013dc8eb2b54d2cf80a0d diff --git a/src/pack.c b/src/pack.c deleted file mode 100644 index 38a4f44..0000000 --- a/src/pack.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Portable binary serialisation of integral types. - * Copyright © 2009 Nick Bowler - * - * Copying and distribution of this file, with or without modification, - * are permitted in any medium without royalty provided the copyright - * notice and this notice are preserved. This file is offered as-is, - * without any warranty. - */ - -#include "pack.h" - -/* Unsigned integer packing. */ -#define DEFPACK_BE(bits, type) void pack_ ## bits ## _be ( \ - unsigned char *out, type v \ -) { \ - unsigned i; \ - for (i = 1; i <= bits/8; i++) { \ - out[bits/8 - i] = v % 256; \ - v /= 256; \ - } \ -} - -#define DEFPACK_LE(bits, type) void pack_ ## bits ## _le ( \ - unsigned char *out, type v \ -) { \ - unsigned i; \ - for (i = 0; i < bits/8; i++) { \ - out[i] = v % 256; \ - v /= 256; \ - } \ -} - -DEFPACK_BE(16, unsigned short) -DEFPACK_BE(32, unsigned long) -#if PACK_HAVE_64BIT -DEFPACK_BE(64, unsigned long long) -#endif - -DEFPACK_LE(16, unsigned short) -DEFPACK_LE(32, unsigned long) -#if PACK_HAVE_64BIT -DEFPACK_LE(64, unsigned long long) -#endif - -#define DEFUNPACK_BE(bits, type) type unpack_ ## bits ## _be ( \ - const unsigned char *in \ -) { \ - type v = 0; \ - unsigned i; \ - for (i = 0; i < bits/8; i++) { \ - v *= 256; \ - v += in[i]; \ - } \ - return v; \ -} - -#define DEFUNPACK_LE(bits, type) type unpack_ ## bits ## _le ( \ - const unsigned char *in \ -) { \ - type v = 0; \ - unsigned i; \ - for (i = 1; i <= bits/8; i++) { \ - v *= 256; \ - v += in[bits/8 - i]; \ - } \ - return v; \ -} - -DEFUNPACK_BE(16, unsigned short) -DEFUNPACK_BE(32, unsigned long) -#if PACK_HAVE_64BIT -DEFUNPACK_BE(64, unsigned long long) -#endif - -DEFUNPACK_LE(16, unsigned short) -DEFUNPACK_LE(32, unsigned long) -#if PACK_HAVE_64BIT -DEFUNPACK_LE(64, unsigned long long) -#endif - -/* - * Two's complement signed integer packing. This is unlikely to work on - * systems that don't themselves use two's complement. - */ - -#define DEFUNPACK_SBE(bits, max, type) type unpack_s ## bits ## _be ( \ - const unsigned char *in \ -) { \ - type v = 0; \ - unsigned i; \ - int sign = (in[0] & 0x80) ? 1 : 0; \ - for (i = 0; i < bits/8; i++) { \ - v *= 256; \ - v += in[i] & (i == 0 ? 0x7f : 0xff); \ - } \ - return sign*(-max-1) + v; \ -} - -#define DEFUNPACK_SLE(bits, max, type) type unpack_s ## bits ## _le ( \ - const unsigned char *in \ -) { \ - type v = 0; \ - unsigned i; \ - int sign = (in[bits/8 - 1] & 0x80) ? 1 : 0; \ - for (i = 1; i <= bits/8; i++) { \ - v *= 256; \ - v += in[bits/8 - i] & (i == 1 ? 0x7f : 0xff); \ - } \ - return sign*(-max-1) + v; \ -} - -DEFUNPACK_SBE(16, 32767, short) -DEFUNPACK_SBE(32, 2147483647l, long) -#if PACK_HAVE_64BIT -DEFUNPACK_SBE(64, 9223372036854775807ll, long long) -#endif - -DEFUNPACK_SLE(16, 32767, short) -DEFUNPACK_SLE(32, 2147483647l, long) -#if PACK_HAVE_64BIT -DEFUNPACK_SLE(64, 9223372036854775807ll, long long) -#endif diff --git a/src/pack.h b/src/pack.h deleted file mode 100644 index 7cc3440..0000000 --- a/src/pack.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Portable binary serialisation of integral types. - * Copyright © 2009 Nick Bowler - * - * Copying and distribution of this file, with or without modification, - * are permitted in any medium without royalty provided the copyright - * notice and this notice are preserved. This file is offered as-is, - * without any warranty. - */ - -#ifndef PACK_H_ -#define PACK_H_ - -#include -#if !defined(PACK_HAVE_64BIT) && defined(ULLONG_MAX) && defined(LLONG_MAX) -# define PACK_HAVE_64BIT 1 -#endif - -void pack_16_be(unsigned char *, unsigned short); -void pack_32_be(unsigned char *, unsigned long); -#if PACK_HAVE_64BIT -void pack_64_be(unsigned char *, unsigned long long); -#endif - -void pack_16_le(unsigned char *, unsigned short); -void pack_32_le(unsigned char *, unsigned long); -#if PACK_HAVE_64BIT -void pack_64_le(unsigned char *, unsigned long long); -#endif - -unsigned short unpack_16_be(const unsigned char *); -unsigned long unpack_32_be(const unsigned char *); -#if PACK_HAVE_64BIT -unsigned long long unpack_64_be(const unsigned char *); -#endif - -unsigned short unpack_16_le(const unsigned char *); -unsigned long unpack_32_le(const unsigned char *); -#if PACK_HAVE_64BIT -unsigned long long unpack_64_le(const unsigned char *); -#endif - -short unpack_s16_be(const unsigned char *); -long unpack_s32_be(const unsigned char *); -#if PACK_HAVE_64BIT -long long unpack_s64_be(const unsigned char *); -#endif - -short unpack_s16_le(const unsigned char *); -long unpack_s32_le(const unsigned char *); -#if PACK_HAVE_64BIT -long long unpack_s64_le(const unsigned char *); -#endif - -#endif -- 2.43.0