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/dk4rec01.ctr | |
parent | fdb18507cd80dc17f5a5256153d34668b4f4e61c (diff) |
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4rec01.ctr')
-rw-r--r-- | support/dktools/dk4rec01.ctr | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/support/dktools/dk4rec01.ctr b/support/dktools/dk4rec01.ctr deleted file mode 100644 index fc223ca80e..0000000000 --- a/support/dktools/dk4rec01.ctr +++ /dev/null @@ -1,122 +0,0 @@ -%% options - -copyright owner = Dirk Krause -copyright year = 2015-xxxx -SPDX-License-Identifier: BSD-3-Clause - - -%% header - -/** @file - String recoding from ASCII to ANSI. - - 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 DK4TYPES_H_INCLUDED -#if DK4_BUILDING_DKTOOLS4 -#include "dk4types.h" -#else -#include <dktools-4/dk4types.h> -#endif -#endif - -#ifndef DK4ERROR_H_INCLUDED -#if DK4_BUILDING_DKTOOLS4 -#include "dk4error.h" -#else -#include <dktools-4/dk4error.h> -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** Recode string from ASCII to ANSI. - @param dstb Destination buffer. - @param szdstb Size of destination buffer (number of bytes). - @param src Source string to convert. - @param erp Error report, may be NULL. - @return 1 on success, 0 on error. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if src or dstb is NULL or szdstb is 0, - - DK4_E_BUFFER_TOO_SMALL<br> - if dstb is too small, - - DK4_E_SYNTAX<br> - with the number of successfully recoded characters in nelem if a - non-recodable character was found. -*/ -int -dk4recode_ascii_to_ansi( - char *dstb, size_t szdstb, const char *src, dk4_er_t *erp -); - -#ifdef __cplusplus -} -#endif - -%% module - -#include "dk4conf.h" -#include "dk4rec01.h" -#include "dk4ansi.h" - -#if DK4_HAVE_ASSERT_H -#ifndef ASSERT_H_INCLUDED -#include <assert.h> -#define ASSERT_H_INCLUDED 1 -#endif -#endif - - -int -dk4recode_ascii_to_ansi( - char *dstb, size_t szdstb, const char *src, dk4_er_t *erp -) -{ - size_t used = 0; - dk4_c32_t c32 = dkC32(0); - int back = 0; - unsigned char uc = '\0'; -#if DK4_USE_ASSERT - assert(NULL != dstb); - assert(0 < szdstb); - assert(NULL != src); -#endif - if ((NULL != dstb) && (0 < szdstb) && (NULL != src)) { - back = 1; - while(('\0' != *src) && (1 == back) && (used < szdstb)) { - uc = (unsigned char)(*(src++)); - c32 = (dk4_c32_t)uc; - if (0 != dk4ansi_encode(&uc, c32)) { - dstb[used++] = (char)uc; - } else { - back = 0; - dk4error_set_elsize_nelem(erp, DK4_E_SYNTAX, 1, used); - } - } - if (used < szdstb) { - dstb[used] = '\0'; - } else { - dstb[szdstb - 1] = '\0'; - back = 0; - dk4error_set_simple_error_code(erp, DK4_E_BUFFER_TOO_SMALL); - } - } else { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - } - return back; -} - - |