summaryrefslogtreecommitdiff
path: root/support/dktools/test-strmu.ctr
blob: 3653cf6f6b3064a9cf8e99f683fd22046e6642b2 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104


#include "dk4conf.h"

#include "dk4mem.h"
#include "dk4strmr.h"
#include "dk4strmu.h"



int main(void)
{
	dk4_er_t		 er;
	dk4_stream_t	*rdstrm	= NULL;
	char			*cptr	= NULL;
	double			 d		= 0.0;
	uint32_t		 u32	= 0UL;
	int32_t			 i32	= 0L;
	uint16_t		 u16	= 0U;
	int16_t			 i16	= 0;
	uint8_t			 u8		= (uint8_t)0;
	int8_t			 i8		= (int8_t)0;


	rdstrm = dk4stream_open_file_reader("/tmp/test.dat.gz", NULL);
	if (NULL == rdstrm) {
		goto finished;
	}

	if (0 == dk4stream_unser_u32(&u32, rdstrm, NULL)) {
		fputs("u32 failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("u32 = %lu\n", (unsigned long)u32);

	if (0 == dk4stream_unser_i32(&i32, rdstrm, NULL)) {
		fputs("i32 failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("i32 = %ld\n", (long)i32);

	if (0 == dk4stream_unser_string(&cptr, rdstrm, NULL)) {
		fputs("str failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("str = \"%s\"\n", ((NULL != cptr) ? cptr : "NULL"));

	if (0 == dk4stream_unser_u16(&u16, rdstrm, NULL)) {
		fputs("u16 failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("u16 = %u\n", (unsigned)u16);

	if (0 == dk4stream_unser_double(&d, rdstrm, NULL)) {
		fputs("dbl failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("d   = %g\n", d);

	if (0 == dk4stream_unser_i16(&i16, rdstrm, NULL)) {
		fputs("i16 failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("i16 = %d\n", (int)i16);

	d = 5.0;
	if (0 == dk4stream_unser_double(&d, rdstrm, NULL)) {
		fputs("dbl failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("d   = %g\n", d);

	if (0 == dk4stream_unser_u8(&u8, rdstrm, NULL)) {
		fputs("u8 failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("u8 = %u\n", (unsigned)u8);

	if (0 == dk4stream_unser_i8(&i8, rdstrm, NULL)) {
		fputs("i8 failed!\n", stderr); fflush(stderr);
		goto finished;
	}
	printf("i8 = %d\n", (int)i8);

	dk4error_init(&er);
	if (0 == dk4stream_unser_i8(&i8, rdstrm, &er)) {
		fputs("i8 failed!\n", stderr); fflush(stderr);
		fprintf(stderr, "Error code: %d\n", er.ec);
		goto finished;
	}
	printf("i8 = %d\n", (int)i8);

	finished:
	if (NULL != cptr) {
		dk4mem_free(cptr);
	}
	if (NULL != rdstrm) {
		dk4stream_close(rdstrm, NULL);
	}
	return 0;
}

/* vim: set ai sw=4 ts=4 : */