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