summaryrefslogtreecommitdiff
path: root/support/dktools/dk4strmo08.ctr
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
committerNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
commit0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch)
tree416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/dk4strmo08.ctr
parentfdb18507cd80dc17f5a5256153d34668b4f4e61c (diff)
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4strmo08.ctr')
-rw-r--r--support/dktools/dk4strmo08.ctr176
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;
-}
-