diff options
Diffstat (limited to 'support/dktools/dk4strmo16.c')
-rw-r--r-- | support/dktools/dk4strmo16.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/support/dktools/dk4strmo16.c b/support/dktools/dk4strmo16.c deleted file mode 100644 index 01862f8726..0000000000 --- a/support/dktools/dk4strmo16.c +++ /dev/null @@ -1,112 +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: dk4strmo16.ctr -*/ - -/** @file dk4strmo16.c The dk4strmo16 module. -*/ - - -#line 74 "dk4strmo16.ctr" - -#include "dk4conf.h" -#include "dk4strmo16.h" -#include "dk4strmo32.h" -#include "dk4enc.h" -#include "dk4utf16.h" - -#if DK4_HAVE_ASSERT_H -#ifndef ASSERT_H_INCLUDED -#include <assert.h> -#define ASSERT_H_INCLUDED 1 -#endif -#endif - - - -int -dk4stream_c16_puts(dk4_stream_t *strm, const dk4_c16_t *txt, dk4_er_t *erp) -{ - dk4_utf16_decoder_t enc; - dk4_c16_t c16; - dk4_c32_t c32; - int back = 0; - char c8; -#if DK4_USE_ASSERT - assert(NULL != strm); - assert(NULL != txt); -#endif - if ((NULL != strm) && (NULL != txt)) { - if (0 != ((strm->fl) & DK4_STREAM_WRITE)) { - switch (strm->oenc) { - case DK4_FILE_ENCODING_UTF16_LE: - case DK4_FILE_ENCODING_UTF16_BE: - { - back = 1; - while((0 != *txt) && (1 == back)) { - c16 = *(txt++); - if (DK4_FILE_ENCODING_UTF16_LE == strm->oenc) { - c8 = (char)(c16 & 0x00FF); - if (0 == dk4stream_write_byte(strm, c8, erp)) { - back = 0; - } else { - c8 = (char)((c16 >> 8) & 0x00FF); - if (0 == dk4stream_write_byte(strm, c8, erp)) { - back = 0; - } - } - } else { - c8 = (char)((c16 >> 8) & 0x00FF); - if (0 == dk4stream_write_byte(strm, c8, erp)) { - back = 0; - } else { - c8 = (char)(c16 & 0x00FF); - if (0 == dk4stream_write_byte(strm, c8, erp)) { - back = 0; - } - } - } - } - } break; - default: { - back = 1; - dk4utf16_init(&enc); - while((0 != *txt) && (1 == back)) { - switch (dk4utf16_add(&enc, *(txt++))) { - case DK4_EDSTM_FINISHED: { - c32 = dk4utf16_get(&enc); - dk4utf16_init(&enc); - if (0 == dk4stream_c32_putc(strm, c32, erp)) { - back = 0; - } - } break; - case DK4_EDSTM_ERROR: { - back = 0; - dk4error_set_simple_error_code(erp,DK4_E_DECODING_FAILED); - } break; - } - } - if (0 == dk4utf16_is_empty(&enc)) { - back = 0; - dk4error_set_simple_error_code(erp,DK4_E_DECODING_FAILED); - } - } break; - } - } else { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - } - } else { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - } - return back; -} - - |