%% options
copyright owner = Dirk Krause
copyright year = 2015-xxxx
license = bsd
%% header
/** @file
Double to dkChar text conversion using more secure functions than
swprintf() or sprintf() if available.
CRT on Windows: Required.
*/
#ifndef DK4CONF_H_INCLUDED
#include "dk4conf.h"
#endif
#ifndef DK4TYPES_H_INCLUDED
#include "dk4types.h"
#endif
#ifndef DK4ERROR_H_INCLUDED
#include "dk4error.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
/** Convert double value to string.
@param dptr Destination buffer pointer.
@param szdptr Size of destination buffer (number of dkChar).
@param v Value to convert.
@param exact Flag: Save exact representation of number.
@param minimize Flag: Minimize exact representation.
@param erp Error report, may be NULL.
@return 1 on success, 0 on error.
Error codes:
- DK4_E_INVALID_ARGUMENTS
if dptr is NULL or szdptr is less than 2,
- DK4_E_BUFFER_TOO_SMALL
if the destination buffer is too small to store the string.
*/
int
dk4ma_write_double(
dkChar *dptr, size_t szdptr, double v, int exact, int minimize, dk4_er_t *erp
);
#ifdef __cplusplus
}
#endif
%% module
#include "dk4maoddbl.h"
#if DK4_CHAR_SIZE > 1
#include "dk4maowdbl.h"
#else
#include "dk4mao8dbl.h"
#endif
int
dk4ma_write_double(
dkChar *dptr, size_t szdptr, double v, int exact, int minimize, dk4_er_t *erp
)
{
#if DK4_CHAR_SIZE > 1
return (dk4ma_write_wc_double(dptr, szdptr, v, exact, minimize, erp));
#else
return (dk4ma_write_c8_double(dptr, szdptr, v, exact, minimize, erp));
#endif
}