view uptools/libcoding/gsm7_pack.c @ 718:098fea21ba13

doc/Host-tools-overview: tiffs-mkfs description updated The first version of tiffs-mkfs did not include a journal file in the created FFS, expecting the firmware to create it on first boot. All historical firmwares prior to a recent FC fix (2020-05) contain a bug in that code path, thus images made with the first version of tiffs-mkfs were only acceptable to very recent FC firmwares. tiffs-mkfs has now been extended to include an empty journal in the created FFS, thus the restriction of working with recent fw only has been lifted.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 23 Aug 2020 04:55:02 +0000
parents 15120d15cab5
children
line wrap: on
line source

/*
 * This library module implements the function for packing septets into octets.
 */

#include <sys/types.h>

gsm7_pack(inbuf, outbuf, noctets)
	u_char *inbuf, *outbuf;
	unsigned noctets;
{
	u_char *ip = inbuf, *op = outbuf;
	unsigned n, c;

	for (n = 0; n < noctets; n++) {
		c = n % 7;
		*op++ = ((ip[1] << 7) | ip[0]) >> c;
		if (c == 6)
			ip += 2;
		else
			ip += 1;
	}
}