diff --git a/qse/lib/cmn/fmt-out.c b/qse/lib/cmn/fmt-out.c index a2dcc341..f9f9cd15 100644 --- a/qse/lib/cmn/fmt-out.c +++ b/qse/lib/cmn/fmt-out.c @@ -134,6 +134,12 @@ static const qse_wchar_t* w_hex2ascii = /* ------------------------------------------------------------------ */ +/* char_t a normal character type for the format + * ochar_t is an opposite type to char_t + * uchar_t is a normal unsigned character type */ + +/* ------------------------------------------------------------------ */ + #undef char_t #undef uchar_t #undef ochar_t @@ -147,12 +153,12 @@ static const qse_wchar_t* w_hex2ascii = #undef fmtout #define char_t qse_mchar_t -#define uchar_t qse_mchar_t +#define uchar_t qse_mchau_t #define ochar_t qse_wchar_t #define T(x) QSE_MT(x) #define OT(x) QSE_WT(x) #define CONV_MAX QSE_MBLEN_MAX -#define toupper QSE_TOUPPER +#define toupper QSE_TOMUPPER #define sprintn m_sprintn #define fmtout_t qse_mfmtout_t #define fmtout qse_mfmtout @@ -176,7 +182,7 @@ static const qse_wchar_t* w_hex2ascii = #undef fmtout #define char_t qse_wchar_t -#define uchar_t qse_wchar_t +#define uchar_t qse_wchau_t #define ochar_t qse_mchar_t #define T(x) QSE_WT(x) #define OT(x) QSE_MT(x) diff --git a/qse/lib/cmn/fmt-out.h b/qse/lib/cmn/fmt-out.h index c32217a6..aa190c7e 100644 --- a/qse/lib/cmn/fmt-out.h +++ b/qse/lib/cmn/fmt-out.h @@ -442,6 +442,8 @@ reswitch: if (flagc & FLAGC_ZEROPAD) padc = T(' '); if (((lm_flag & LF_H) && (QSE_SIZEOF(char_t) > QSE_SIZEOF(ochar_t))) || ((lm_flag & LF_L) && (QSE_SIZEOF(char_t) < QSE_SIZEOF(ochar_t)))) goto uppercase_c; + /* check qse_char_t(not char_t) against ochar_t */ + if ((lm_flag & LF_J) && QSE_SIZEOF(qse_char_t) == QSE_SIZEOF(ochar_t)) goto uppercase_c; lowercase_c: ach = QSE_SIZEOF(char_t) < QSE_SIZEOF(int)? va_arg(ap, int): va_arg(ap, char_t); @@ -464,6 +466,8 @@ reswitch: if (flagc & FLAGC_ZEROPAD) padc = T(' '); if (((lm_flag & LF_H) && (QSE_SIZEOF(char_t) < QSE_SIZEOF(ochar_t))) || ((lm_flag & LF_L) && (QSE_SIZEOF(char_t) > QSE_SIZEOF(ochar_t)))) goto lowercase_c; + /* check qse_char_t(not char_t) against ochar_t */ + if ((lm_flag & LF_J) && QSE_SIZEOF(qse_char_t) == QSE_SIZEOF(char_t)) goto lowercase_s; uppercase_c: oach = QSE_SIZEOF(ochar_t) < QSE_SIZEOF(int)? va_arg(ap, int): va_arg(ap, ochar_t); @@ -508,8 +512,14 @@ reswitch: if (flagc & FLAGC_ZEROPAD) padc = T(' '); if (((lm_flag & LF_H) && (QSE_SIZEOF(char_t) > QSE_SIZEOF(ochar_t))) || ((lm_flag & LF_L) && (QSE_SIZEOF(char_t) < QSE_SIZEOF(ochar_t)))) goto uppercase_s; + /* check qse_char_t(not char_t) against ochar_t */ + if ((lm_flag & LF_J) && QSE_SIZEOF(qse_char_t) == QSE_SIZEOF(ochar_t)) goto uppercase_s; + + + /* falls down here if lm_flag & LF_J */ + lowercase_s: - sp = va_arg (ap, char_t*); + sp = va_arg(ap, char_t*); if (sp == QSE_NULL) p = T("(null)"); print_lowercase_s: @@ -540,8 +550,9 @@ reswitch: if (flagc & FLAGC_ZEROPAD) padc = T(' '); if (((lm_flag & LF_H) && (QSE_SIZEOF(char_t) < QSE_SIZEOF(ochar_t))) || ((lm_flag & LF_L) && (QSE_SIZEOF(char_t) > QSE_SIZEOF(ochar_t)))) goto lowercase_s; + /* check qse_char_t(not char_t) against ochar_t */ + if ((lm_flag & LF_J) && QSE_SIZEOF(qse_char_t) == QSE_SIZEOF(char_t)) goto lowercase_s; uppercase_s: - osp = va_arg (ap, ochar_t*); if (osp == QSE_NULL) osp = OT("(null)");