diff options
author | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
commit | 0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch) | |
tree | 416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/dk4strmo08.ctr | |
parent | fdb18507cd80dc17f5a5256153d34668b4f4e61c (diff) |
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4strmo08.ctr')
-rw-r--r-- | support/dktools/dk4strmo08.ctr | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/support/dktools/dk4strmo08.ctr b/support/dktools/dk4strmo08.ctr deleted file mode 100644 index b1880c47f1..0000000000 --- a/support/dktools/dk4strmo08.ctr +++ /dev/null @@ -1,176 +0,0 @@ -%% options - -copyright owner = Dirk Krause -copyright year = 2015-xxxx -SPDX-License-Identifier: BSD-3-Clause - - - -%% header - -/** @file - String output over dk4_stream_t API, - 8 bit character strings. - - CRT on Windows: Not used. -*/ - -#ifndef DK4CONF_H_INCLUDED -#if DK4_BUILDING_DKTOOLS4 -#include "dk4conf.h" -#else -#include <dktools-4/dk4conf.h> -#endif -#endif - -#ifndef DK4STRM_H_INCLUDED -#if DK4_BUILDING_DKTOOLS4 -#include "dk4strm.h" -#else -#include <dktools-4/dk4strm.h> -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** Write 8 bit character string to stream. - @param strm Stream to write to. - @param txt Text to write. - @param ie Input encoding. - @param erp Error report, may be NULL. - @return 1 on success, 0 on error. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if strm is NULL or not opened for writing, - - DK4_E_SYNTAX<br> - if ie does not indicate an 8 bit encoding, - - DK4_E_DECODING_FAILED<br> - if input decoding failed, - - DK4_E_WRITE_FAILED<br> - if writing one ore multiple bytes to the stream failed, - - DK4_E_FLUSH_FAILED<br> - if flusing data downwards failed. -*/ -int -dk4stream_c08_puts(dk4_stream_t *strm, const char *txt, int ie, dk4_er_t *erp); - -#ifdef __cplusplus -} -#endif - -%% module - -#include "dk4conf.h" -#include "dk4strm.h" -#include "dk4strmo08.h" -#include "dk4strmo32.h" -#include "dk4enc.h" -#include "dk4ansi.h" -#include "dk4utf8.h" - -#if DK4_HAVE_ASSERT_H -#ifndef ASSERT_H_INCLUDED -#include <assert.h> -#define ASSERT_H_INCLUDED 1 -#endif -#endif - - -$!trace-include - - - -int -dk4stream_c08_puts(dk4_stream_t *strm, const char *txt, int ie, dk4_er_t *erp) -{ - dk4_utf8_decoder_t dec; - dk4_c32_t c32; - int back = 0; - char c; - unsigned char uc; -#if DK4_USE_ASSERT - assert(NULL != strm); - assert(NULL != txt); -#endif - if ((NULL != strm) && (NULL != txt)) { - if (0 != ((strm->fl) & DK4_STREAM_WRITE)) { - switch (ie) { - case DK4_ENCODING_PLAIN: - case DK4_ENCODING_WIN1252: - case DK4_ENCODING_UTF8: - { - if (strm->oenc == ie) { - back = 1; - while (('\0' != *txt) && (1 == back)) { - if (0 == dk4stream_write_byte(strm, *(txt++), erp)) { - back = 0; - } - } - } else { - switch (ie) { - case DK4_ENCODING_PLAIN: { - back = 1; - while (('\0' != *txt) && (1 == back)) { - c = *(txt++); - uc = (unsigned char)c; - c32 = (dk4_c32_t)uc; - if (0 == dk4stream_c32_putc(strm, c32, erp)) { - back = 0; - } - } - } break; - case DK4_ENCODING_WIN1252: { - back = 1; - while (('\0' != *txt) && (1 == back)) { - if (0 != dk4ansi_decode(&c32, (unsigned char)(*(txt++)))) { - if (0 == dk4stream_c32_putc(strm, c32, erp)) { - back = 0; - } - } else { - back = 0; - dk4error_set_simple_error_code(erp, DK4_E_DECODING_FAILED); - } - } - } break; - case DK4_ENCODING_UTF8: { - back = 1; - dk4utf8_init(&dec); - while (('\0' != *txt) && (1 == back)) { - switch (dk4utf8_add(&dec, (unsigned char)(*(txt++)))) { - case DK4_EDSTM_FINISHED: { - c32 = dk4utf8_get(&dec); - dk4utf8_init(&dec); - 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 == dk4utf8_is_empty(&dec)) { - back = 0; - dk4error_set_simple_error_code(erp, DK4_E_DECODING_FAILED); - } - } break; - } - } - } break; - default: { - dk4error_set_simple_error_code(erp, DK4_E_SYNTAX); - } 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; -} - |