diff options
Diffstat (limited to 'support/dktools/dk4maiwhdi.ctr')
-rw-r--r-- | support/dktools/dk4maiwhdi.ctr | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/support/dktools/dk4maiwhdi.ctr b/support/dktools/dk4maiwhdi.ctr deleted file mode 100644 index 6e9c8939d4..0000000000 --- a/support/dktools/dk4maiwhdi.ctr +++ /dev/null @@ -1,151 +0,0 @@ -%% options - -copyright owner = Dirk Krause -copyright year = 2015-xxxx -SPDX-License-Identifier: BSD-3-Clause - - - -%% header - -/** @file - Retrieve dk4_im_t value from - wchar_t string in hexadecimal notation. - - CRT on Windows: Optional, disabling CRT degrades performance. -*/ - -#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 - -/** Retrieve numeric value from string, hexadecimal notation. - @param rp Pointer to result variable for the found value. - @param src String to check for numeric value. - @param endptr Address of pointer variable. - A pointer to the first character not processed - is stored here. - The function may also store a NULL pointer in this - variable. - The variable points to the correct error position - only if er.ec is DK4_E_SYNTAX. - @param atg Allow trailing garbage: - 0=no unprocessable trailing bytes allowed, - 1=trailing whitespaces allowed, - 2=any trailing characters allowed. - @param erp Error report, may be NULL. - @return 1 on success, 0 on error. - - Error codes: - DK4_E_INVALID_ARGUMENTS if rp or src is NULL, - DK4_E_MATH_OVERFLOW if the number is out of range, or - DK4_E_SYNTAX if src contains illegal characters. -*/ -int -dk4ma_input_wc_hex_dk4_im_t( - dk4_im_t *rp, - const wchar_t *src, - const wchar_t **endptr, - int atg, - dk4_er_t *erp -); - -#ifdef __cplusplus -} -#endif - - - -%% module - -#include "dk4conf.h" - -#if DK4_HAVE_ASSERT_H -#ifndef ASSERT_H_INCLUDED -#include <assert.h> -#define ASSERT_H_INCLUDED 1 -#endif -#endif - -#include "dk4maiwhdu.h" -#include "dk4maiwhdi.h" -#include "dk4numco.h" -#include "dk4str8.h" - - -$!trace-include - - - -int -dk4ma_input_wc_hex_dk4_im_t( - dk4_im_t *rp, - const wchar_t *src, - const wchar_t **endptr, - int atg, - dk4_er_t *erp -) -{ - dk4_um_t res; - const wchar_t *ep = NULL; - int back = 0; - $? "+ dk4ma_input_wc_hex_dk4_im_t \"%ls\" %d", src, atg -#if DK4_USE_ASSERT - assert(NULL != rp); - assert(NULL != src); -#endif - if ((NULL != rp) && (NULL != src)) { - if (L'-' == *src) { $? ". negative" - if (0 != dk4ma_input_wc_hex_dk4_um_t(&res, ++src, &ep, atg, erp)) { - if (((dk4_um_t)(DK4_IM_MAX) + (dk4_um_t)1UL) == res) { $? ". ok min" - *rp = DK4_IM_MIN; - back = 1; - } else { - if (((dk4_um_t)(DK4_IM_MAX)) >= res) { $? ". ok neg" - *rp = (dk4_im_t)0L - (dk4_im_t)res; - back = 1; - } else { $? "! overflow" - dk4error_set_simple_error_code(erp, DK4_E_MATH_OVERFLOW); - } - } - } else { $? "! failed" - } - } else { $? ". not negative" - if (0 != dk4ma_input_wc_hex_dk4_um_t(&res, src, &ep, atg, erp)) { - *rp = (dk4_im_t)res; - back = 1; - } else { $? "! failed" - } - } - } else { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - } - if (NULL != endptr) { *endptr = ep; } - $? "- dk4ma_input_wc_hex_dk4_im_t %d", back - return back; -} - |