diff options
Diffstat (limited to 'support/dktools/dk4rld.c')
-rw-r--r-- | support/dktools/dk4rld.c | 216 |
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; -} - |