%% options copyright owner = Dirk Krause copyright year = 2015-xxxx license = bsd %% header /** @file String output over dk4_stream_t API, dkChar strings. CRT on Windows: Not used. */ #include "dk4conf.h" #include "dk4types.h" #include "dk4strm.h" #ifdef __cplusplus extern "C" { #endif /** Write one 32 bit character string to stream. @param strm Stream to write to. @param txt Text string to write. @param ie Input encoding used for txt. @param erp Error report, may be NULL. @return 1 on success, 0 on error. Error codes: - DK4_E_INVALID_ARGUMENTS
if strm is null or not set up for writing, - DK4_E_ENCODING_FAILED
if it is not possible to encode c32 to the output encoding for the stream, - DK4_E_WRITE_FAILED
if writing one ore multiple bytes to the stream failed, - DK4_E_FLUSH_FAILED
if flushing data downwards failed. */ int dk4stream_dk_puts(dk4_stream_t *strm, const dkChar *txt, int ie, dk4_er_t *erp); #ifdef __cplusplus } #endif %% module #include "dk4strmodk.h" #include "dk4strmo32.h" #include "dk4strmo16.h" #include "dk4strmo08.h" int dk4stream_dk_puts(dk4_stream_t *strm, const dkChar *txt, int ie, dk4_er_t *erp) { #if DK4_CHAR_SIZE > 1 #if DK4_CHAR_SIZE > 2 return (dk4stream_c32_puts(strm, txt, erp)); #else return (dk4stream_c16_puts(strm, txt, erp)); #endif #else return (dk4stream_c08_puts(strm, txt, ie, erp)); #endif }