diff options
author | Norbert Preining <norbert@preining.info> | 2020-09-20 03:03:26 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-09-20 03:03:26 +0000 |
commit | 1f457376b478257b88d4a857f5ec1b6155442dd7 (patch) | |
tree | 2a06a60551dea362cf8cb0cb0ba66c78608717c4 /support/dktools/dk4utf8.c | |
parent | ac690ca29ad5bf8a5203a65fd6252f7b564f4727 (diff) |
CTAN sync 202009200303
Diffstat (limited to 'support/dktools/dk4utf8.c')
-rw-r--r-- | support/dktools/dk4utf8.c | 75 |
1 files changed, 39 insertions, 36 deletions
diff --git a/support/dktools/dk4utf8.c b/support/dktools/dk4utf8.c index 5402fb1f4d..857842f4c7 100644 --- a/support/dktools/dk4utf8.c +++ b/support/dktools/dk4utf8.c @@ -1,60 +1,50 @@ /* - WARNING: This file was generated by dkct. - 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: dk4utf8.ctr +Copyright (C) 2015-2020, Dirk Krause +SPDX-License-Identifier: BSD-3-Clause */ /* -Copyright (C) 2015-2017, Dirk Krause - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above opyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 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: dk4utf8.ctr */ /** @file dk4utf8.c The dk4utf8 module. */ -#line 121 "dk4utf8.ctr" +#line 137 "dk4utf8.ctr" #include "dk4conf.h" + +#if DK4_HAVE_ASSERT_H +#ifndef ASSERT_H_INCLUDED +#include <assert.h> +#define ASSERT_H_INCLUDED 1 +#endif +#endif + #include "dk4types.h" #include "dk4error.h" #include "dk4utf8.h" +#include "dk4rec26.h" -#line 130 "dk4utf8.ctr" +#line 155 "dk4utf8.ctr" void dk4utf8_init(dk4_utf8_decoder_t *ptr) { +#if DK4_USE_ASSERT + assert(NULL != ptr); +#endif if (NULL != ptr) { ptr->uc = dkC32(0); ptr->bfc = 0; @@ -68,7 +58,9 @@ int dk4utf8_add(dk4_utf8_decoder_t *ptr, unsigned char byte) { int back = DK4_EDSTM_ERROR; - +#if DK4_USE_ASSERT + assert(NULL != ptr); +#endif if (NULL != ptr) { switch (ptr->bfc) { case 0: { @@ -254,9 +246,12 @@ dk4utf8_add(dk4_utf8_decoder_t *ptr, unsigned char byte) dk4_c32_t -dk4utf8_get(dk4_utf8_decoder_t *ptr) +dk4utf8_get(dk4_utf8_decoder_t const *ptr) { dk4_c32_t back = dkC32(0); +#if DK4_USE_ASSERT + assert(NULL != ptr); +#endif if (NULL != ptr) { back = ptr->uc; } @@ -266,9 +261,12 @@ dk4utf8_get(dk4_utf8_decoder_t *ptr) int -dk4utf8_is_empty(dk4_utf8_decoder_t *ptr) +dk4utf8_is_empty(dk4_utf8_decoder_t const *ptr) { int back = 0; +#if DK4_USE_ASSERT + assert(NULL != ptr); +#endif if (NULL != ptr) { if (0 == ptr->bfc) { back = 1; @@ -285,7 +283,12 @@ dk4utf8_encode(unsigned char *rb, size_t *pszrb, dk4_c32_t c, dk4_er_t *erp) int back = 0; -#line 365 "dk4utf8.ctr" +#line 401 "dk4utf8.ctr" +#if DK4_USE_ASSERT + assert(NULL != rb); + assert(NULL != pszrb); + assert(6 < *pszrb); +#endif if ((NULL != rb) && (NULL != pszrb)) { if (6 < *pszrb) { if (dkC32(0x7F) < c) { @@ -349,7 +352,7 @@ dk4utf8_encode(unsigned char *rb, size_t *pszrb, dk4_c32_t c, dk4_er_t *erp) dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); } -#line 427 "dk4utf8.ctr" +#line 468 "dk4utf8.ctr" return back; } |