summaryrefslogtreecommitdiff
path: root/support/dktools/dk4rld.c
diff options
context:
space:
mode:
Diffstat (limited to 'support/dktools/dk4rld.c')
-rw-r--r--support/dktools/dk4rld.c216
1 files changed, 0 insertions, 216 deletions
diff --git a/support/dktools/dk4rld.c b/support/dktools/dk4rld.c
deleted file mode 100644
index 4053b16845..0000000000
--- a/support/dktools/dk4rld.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-Copyright (C) 2015-2020, Dirk Krause
-SPDX-License-Identifier: BSD-3-Clause
-*/
-
-/*
- WARNING: This file was generated by the dkct program (see
- http://dktools.sourceforge.net/ for details).
- 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: dk4rld.ctr
-*/
-
-/** @file dk4rld.c The dk4rld module.
-*/
-
-
-#line 139 "dk4rld.ctr"
-
-#include "dk4conf.h"
-
-#if DK4_HAVE_ASSERT_H
-#ifndef ASSERT_H_INCLUDED
-#include <assert.h>
-#define ASSERT_H_INCLUDED 1
-#endif
-#endif
-
-#include "dk4rld.h"
-#include "dk4edstm.h"
-#include "dk4mem.h"
-
-
-
-
-
-#line 156 "dk4rld.ctr"
-
-
-
-/** Decoder states.
-*/
-enum {
- /** Start state, exepect run length
- or literal data length.
- */
- RLD_ST_EXPECT_KEY_BYTE = 0,
-
- /** Expect byte value for run.
- */
- RLD_ST_EXPECT_RUN_BYTE ,
-
- /** Expect literal byte.
- */
- RLD_ST_EXPECT_LITERAL_BYTE ,
-
- /** No further input accepted as
- EOD marker was found.
- */
- RLD_ST_EOD_FOUND
-};
-
-
-
-void
-dk4rld_init(dk4_rl_dec_t *dec, dk4_er_t *erp)
-{
-
-
-#line 187 "dk4rld.ctr"
-#if DK4_USE_ASSERT
- assert(NULL != dec);
-#endif
- if (NULL != dec) {
- DK4_MEMRES(dec, sizeof(dk4_rl_dec_t));
- dec->oused = 0;
- dec->ll = 0;
- dec->st = RLD_ST_EXPECT_KEY_BYTE;
- } else {
- dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
- }
-
-#line 198 "dk4rld.ctr"
-}
-
-
-
-int
-dk4rld_add(dk4_rl_dec_t *dec, unsigned char inbyte, dk4_er_t *erp)
-{
- int back = DK4_EDSTM_ERROR;
-
-
-#line 207 "dk4rld.ctr"
-#if DK4_USE_ASSERT
- assert(NULL != dec);
-#endif
- if (NULL != dec) {
- switch (dec->st) {
- case RLD_ST_EXPECT_KEY_BYTE : {
- if ((unsigned char)128U > inbyte) {
- /*
- Literal byte sequence
- */
- dec->st = RLD_ST_EXPECT_LITERAL_BYTE;
- dec->ll = (size_t)inbyte + 1;
- back = DK4_EDSTM_ACCEPT;
- } else {
- if ((unsigned char)128U < inbyte) {
- /*
- Run of equal bytes
- */
- dec->st = RLD_ST_EXPECT_RUN_BYTE;
- dec->ll = (size_t)257 - (size_t)inbyte;
- back = DK4_EDSTM_ACCEPT;
- } else {
- /*
- EOD marker found
- */
- dec->st = RLD_ST_EOD_FOUND;
- back = DK4_EDSTM_STOP;
- }
- }
- } break;
- case RLD_ST_EXPECT_RUN_BYTE : {
- dk4mem_set(&(dec->ob[0]), dec->ll, inbyte, NULL);
- dec->oused = dec->ll;
- dec->st = RLD_ST_EXPECT_KEY_BYTE;
- back = DK4_EDSTM_FINISHED;
- } break;
- case RLD_ST_EXPECT_LITERAL_BYTE : {
- dec->ob[0] = inbyte;
- dec->oused = 1;
- dec->ll -= 1;
- if (0 == dec->ll) {
- dec->st = RLD_ST_EXPECT_KEY_BYTE;
- }
- back = DK4_EDSTM_FINISHED;
- } break;
- default : {
- dk4error_set_simple_error_code(erp, DK4_E_SYNTAX);
- } break;
- }
- } else {
- dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
- }
-
-#line 259 "dk4rld.ctr"
- return back;
-}
-
-
-
-int
-dk4rld_finish(dk4_rl_dec_t *dec, dk4_er_t *erp)
-{
- int back = DK4_EDSTM_ERROR;
-
-
-#line 269 "dk4rld.ctr"
-#if DK4_USE_ASSERT
- assert(NULL != dec);
-#endif
- if (NULL != dec) {
- switch (dec->st) {
- case RLD_ST_EXPECT_KEY_BYTE : case RLD_ST_EOD_FOUND : {
- back = DK4_EDSTM_ACCEPT;
- } break;
- default : {
- dk4error_set_simple_error_code(erp, DK4_E_SYNTAX);
- } break;
- }
- } else {
- dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
- }
-
-#line 284 "dk4rld.ctr"
- return back;
-}
-
-
-
-int
-dk4rld_output(
- const unsigned char **dptr,
- size_t *szptr,
- dk4_rl_dec_t const *dec,
- dk4_er_t *erp
-)
-{
- int back = 0;
-
-
-#line 299 "dk4rld.ctr"
-#if DK4_USE_ASSERT
- assert(NULL != dptr);
- assert(NULL != szptr);
- assert(NULL != dec);
-#endif
- if (NULL != dec) {
- if (0 < dec->oused) {
- *dptr = &(dec->ob[0]);
- *szptr = dec->oused;
- back = 1;
- } else {
- *dptr = NULL;
- *szptr = 0;
- }
- } else {
- dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
- }
-
-#line 316 "dk4rld.ctr"
- return back;
-}
-