aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/test_hagelbarger.c
blob: d4117e36551ebe6750e67b6dcf7b743d35a01848 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdio.h"
#include "stdint.h"
#include "string.h"
#include "../nmt/hagelbarger.h"

int main(void)
{
	uint8_t message[9] = "JollyRog", code[20];

	printf("Message: %s\n", message);

	/* clean tail at code bit 72 and above */
	memset(code, 0, sizeof(code));

	/* encode message */
	hagelbarger_encode(message, code, 72);

	/* corrupt data */
	code[0] ^= 0xfc;
	code[3] ^= 0xfc;
	code[7] ^= 0xfc;

	/* decode */
	hagelbarger_decode(code, message, 64);
	printf("Decoded: %s (must be the same as above)\n", message);

	return 0;
}