summaryrefslogtreecommitdiff
path: root/support/dktools/test-strmu.c
blob: a16915a5c4e18e7098ba902cdbd8c77cb6849441 (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
105
106
107
108
109
110
111
112
113
114
115
116
/*
	WARNING: This file was generated by dkct.
	Changes you make here will be lost if dkct is run again!
	You should modify the original source and run dkct on it.
	Original source: test-strmu.ctr
*/

/**	@file test-strmu.c The test-strmu module.
*/


#line 1 "test-strmu.ctr"


#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 : */