summaryrefslogtreecommitdiff
path: root/support/dktools/dk4maiwhdi.ctr
diff options
context:
space:
mode:
Diffstat (limited to 'support/dktools/dk4maiwhdi.ctr')
-rw-r--r--support/dktools/dk4maiwhdi.ctr151
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;
-}
-