1%% options 2 3 4copyright owner = Dirk Krause 5copyright year = 2015-xxxx 6SPDX-License-Identifier: BSD-3-Clause 7 8 9%% header 10 11/** @file 12 Convert dk4_um_t / dk4_im_t 13 to dkChar strings in decimal notation. 14*/ 15 16#ifndef DK4CONF_H_INCLUDED 17#if DK4_BUILDING_DKTOOLS4 18#include "dk4conf.h" 19#else 20#include <dktools-4/dk4conf.h> 21#endif 22#endif 23 24 25 26#ifndef DK4TYPES_H_INCLUDED 27#if DK4_BUILDING_DKTOOLS4 28#include <libdk4base/dk4types.h> 29#else 30#include <dktools-4/dk4types.h> 31#endif 32#endif 33 34#ifndef DK4ERROR_H_INCLUDED 35#if DK4_BUILDING_DKTOOLS4 36#include <libdk4base/dk4error.h> 37#else 38#include <dktools-4/dk4error.h> 39#endif 40#endif 41 42 43 44#ifdef __cplusplus 45extern "C" { 46#endif 47 48/** Write unsigned number to char string in decimal notation. 49 50 CRT on Windows: Optional. 51 @param dptr Pointer to buffer for string. 52 @param sz Buffer size (number of char). 53 @param val Value to write. 54 @param padsz Minimum number of digits. 55 @param erp Error report, may be NULL. 56 @return 1 on success, 0 on error. 57*/ 58int 59dk4ma_write_decimal_unsigned( 60 dkChar *dptr, size_t sz, dk4_um_t val, size_t padsz, dk4_er_t *erp 61); 62 63/** Write signed number to char string in decimal notation. 64 65 CRT on Windows: Optional. 66 @param dptr Pointer to buffer for string. 67 @param sz Buffer size (number of char). 68 @param val Value to write. 69 @param padsz Minimum number of digits. 70 @param erp Error report, may be NULL. 71 @return 1 on success, 0 on error. 72*/ 73int 74dk4ma_write_decimal_signed( 75 dkChar *dptr, size_t sz, dk4_im_t val, size_t padsz, dk4_er_t *erp 76); 77 78 79#ifdef __cplusplus 80} 81#endif 82 83 84 85%% module 86 87#include "dk4conf.h" 88 89#include <libdk4base/dk4types.h> 90 91 92 93#if DK4_CHAR_SIZE > 1 94#include <libdk4maiowd/dk4maowd.h> 95#else 96#include <libdk4maio8d/dk4mao8d.h> 97#endif 98 99#include <libdk4maiodd/dk4maodd.h> 100#include <libdk4base/dk4error.h> 101 102#if DK4_HAVE_ASSERT_H 103#ifndef ASSERT_H_INCLUDED 104#include <assert.h> 105#define ASSERT_H_INCLUDED 1 106#endif 107#endif 108 109 110int 111dk4ma_write_decimal_unsigned( 112 dkChar *dptr, size_t sz, dk4_um_t val, size_t padsz, dk4_er_t *erp 113) 114{ 115#if DK4_USE_ASSERT 116 assert(NULL != dptr); 117 assert(0 < sz); 118#endif 119#if DK4_CHAR_SIZE > 1 120 return (dk4ma_write_wc_decimal_unsigned(dptr, sz, val, padsz, erp)); 121#else 122 return (dk4ma_write_c8_decimal_unsigned(dptr, sz, val, padsz, erp)); 123#endif 124} 125 126 127 128int 129dk4ma_write_decimal_signed( 130 dkChar *dptr, size_t sz, dk4_im_t val, size_t padsz, dk4_er_t *erp 131) 132{ 133#if DK4_USE_ASSERT 134 assert(NULL != dptr); 135 assert(0 < sz); 136#endif 137#if DK4_CHAR_SIZE > 1 138 return (dk4ma_write_wc_decimal_signed(dptr, sz, val, padsz, erp)); 139#else 140 return (dk4ma_write_c8_decimal_signed(dptr, sz, val, padsz, erp)); 141#endif 142} 143 144 145