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