summaryrefslogtreecommitdiff
path: root/support/dktools/test-ser.c
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/dktools/test-ser.c
Initial commit
Diffstat (limited to 'support/dktools/test-ser.c')
-rw-r--r--support/dktools/test-ser.c162
1 files changed, 162 insertions, 0 deletions
diff --git a/support/dktools/test-ser.c b/support/dktools/test-ser.c
new file mode 100644
index 0000000000..f8c9af214f
--- /dev/null
+++ b/support/dktools/test-ser.c
@@ -0,0 +1,162 @@
+/*
+ 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-ser.ctr
+*/
+
+/** @file test-ser.c The test-ser module.
+*/
+
+
+#line 1 "test-ser.ctr"
+
+#include <stdio.h>
+#include <stdint.h>
+#define _USE_MATH_DEFINES 1
+#include <math.h>
+
+
+#include "dk4mem.h"
+#include "dk4serf.h"
+#include "dk4userf.h"
+#include "dk4app.h"
+#include "dk4str8.h"
+
+
+
+static const dkChar * const test_ser_help_text[] = {
+dkT("This is a test program to create directories."),
+NULL
+
+
+#line 20 "test-ser.ctr"
+};
+
+static const dkChar * const test_ser_license_text[] = {
+dkT("Copyright (c) 2014-2016, Dirk Krause"),
+dkT("All rights reserved."),
+dkT(""),
+dkT("Redistribution and use in source and binary forms, with or without"),
+dkT("modification, are permitted provided that the following conditions"),
+dkT("are met:"),
+dkT(""),
+dkT("* Redistributions of source code must retain the above copyright notice,"),
+dkT(" this list of conditions and the following disclaimer."),
+dkT("* Redistributions in binary form must reproduce the above copyright"),
+dkT(" notice, this list of conditions and the following disclaimer in the"),
+dkT(" documentation and/or other materials provided with the distribution."),
+dkT("* Neither the name of the Dirk Krause nor the names of contributors may be"),
+dkT(" used to endorse or promote products derived from this software without"),
+dkT(" specific prior written permission."),
+dkT(""),
+dkT("THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"),
+dkT("\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT"),
+dkT("LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR"),
+dkT("A PARTICULAR PURPOSE ARE DISCLAIMED."),
+dkT(""),
+dkT("IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY"),
+dkT("DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL"),
+dkT("DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS"),
+dkT("OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)"),
+dkT("HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,"),
+dkT("STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN"),
+dkT("ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE"),
+dkT("POSSIBILITY OF SUCH DAMAGE."),
+NULL
+
+
+#line 54 "test-ser.ctr"
+};
+
+static uint16_t td1[] = { 2U, 4U, 6U, 8U, 1U , 3U, 5U, 7U };
+
+static const size_t sztd1 = DK4_SIZEOF(td1,uint16_t);
+
+static uint32_t td2[] = { 64UL, 66UL, 68UL, 70UL, 65UL, 67UL, 69UL, 71UL};
+
+static const size_t sztd2 = DK4_SIZEOF(td2,uint32_t);
+
+static int16_t td3[] = { 128, 130, 132, 129, 131, 133 };
+
+static const size_t sztd3 = DK4_SIZEOF(td3,int16_t);
+
+static int32_t td4[] = { 256L, 258L, 260L, 257L, 259L, 261L };
+
+static double td5[] = { M_PI, (M_PI_2 / 10.0) , (M_PI_4 * 100.0) };
+
+static const size_t sztd5 = DK4_SIZEOF(td5,double);
+
+static const size_t sztd4 = DK4_SIZEOF(td4,int32_t);
+
+static const dkChar ts[] = { dkT("Dies ist ein Test mit äöüßÄÖÜ blubb.") };
+
+
+/** Application structure.
+*/
+static dk4_app_t *app = NULL;
+
+
+/** Main function.
+ @param argc Number of command line arguments.
+ @param argv Command line arguments array.
+ @return 0 on success, all other values indicate errors.
+*/
+#if DK4_CHAR_SIZE > 1
+int wmain(int argc, wchar_t *argv[])
+#else
+int main(int argc, char *argv[])
+#endif
+{
+ char buf[64];
+ FILE *fipo;
+ size_t i;
+ int exv = EXIT_FAILURE;
+ int de = 0;
+
+ app = dk4app_open_cmd(
+ argc, argv, NULL, 0,
+ dkT("dktools-4-test"), dkT("1.0.0"),
+ dkT("test-ser.txt"), test_ser_help_text,
+ test_ser_license_text
+ );
+ if (NULL != app) {
+ de = dk4app_get_encoding(app);
+ fipo = fopen("test-ser.out", "wb");
+ if (NULL != fipo) {
+ exv = EXIT_SUCCESS;
+ for (i = 0; i < sztd1; i++) {
+ if (0 == dk4serialize_file_uint16_t(fipo, td1[i], NULL)) {
+ exv = EXIT_FAILURE;
+ }
+ }
+ for (i = 0; i < sztd3; i++) {
+ if (0 == dk4serialize_file_int16_t(fipo, td3[i], NULL)) {
+ exv = EXIT_FAILURE;
+ }
+ }
+ if (0 == dk4serialize_file_dk_string(fipo, ts, de, NULL)) {
+ exv = EXIT_FAILURE;
+ }
+ for (i = 0; i < sztd2; i++) {
+ if (0 == dk4serialize_file_uint32_t(fipo, td2[i], NULL)) {
+ exv = EXIT_FAILURE;
+ }
+ }
+ for (i = 0; i < sztd4; i++) {
+ if (0 == dk4serialize_file_int32_t(fipo, td4[i], NULL)) {
+ exv = EXIT_FAILURE;
+ }
+ }
+ for (i = 0; i < sztd5; i++) {
+ if (0 == dk4serialize_file_double(fipo, td5[i], NULL)) {
+ exv = EXIT_FAILURE;
+ }
+ }
+ fclose(fipo);
+ }
+ dk4app_close(app);
+ }
+ return exv;
+}
+