From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- sys/osb/ipak32.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 sys/osb/ipak32.c (limited to 'sys/osb/ipak32.c') diff --git a/sys/osb/ipak32.c b/sys/osb/ipak32.c new file mode 100644 index 00000000..a4f5061b --- /dev/null +++ b/sys/osb/ipak32.c @@ -0,0 +1,23 @@ +#define import_spp +#define import_knames +#include + +/* IPAK32 - Pack 64-bit int into and array of 32-bit int. + */ +void +IPAK32 (void *a, void *b, XINT *nelems) +{ + /* MACHDEP - Works only for little-endian systems (e.g. x86) + */ + XINT *ip = (XINT *) a; + int *op = (int *) calloc (*nelems, sizeof (int)); + int *tmp, i; + + tmp = op; + for (i=0; i < *nelems; i++, ip++) { + *tmp++ = (int) (*ip); + } + memmove (b, op, *nelems * sizeof (int)); + + free (op); +} -- cgit