%% 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 }