/*
******************************************************************************
*
-* Copyright (C) 1998-2008, International Business Machines
+* Copyright (C) 1998-2016, International Business Machines
* Corporation and others. All Rights Reserved.
*
******************************************************************************
#include "unicode/utypes.h"
-#if !UCONFIG_NO_FORMATTING
+#if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_CONVERSION
#include "unicode/ustring.h"
-
+#include "unicode/utf16.h"
#include "uprintf.h"
#include "ufmt_cmn.h"
#include "cmemory.h"
symbolLen = unum_getSymbol(format,
UNUM_PLUS_SIGN_SYMBOL,
plusSymbol,
- sizeof(plusSymbol)/sizeof(*plusSymbol),
+ UPRV_LENGTHOF(plusSymbol),
status);
unum_setTextAttribute(format,
UNUM_POSITIVE_PREFIX,
}
else {
s = ufmt_defaultCPToUnicode(arg, argSize, buffer,
- sizeof(buffer)/sizeof(UChar));
+ UPRV_LENGTHOF(buffer));
}
}
else {
const u_printf_spec_info *info,
const ufmt_args *args)
{
- UChar s[UTF_MAX_CHAR_LENGTH+1];
+ UChar s[U16_MAX_LENGTH+1];
int32_t len = 1, written;
unsigned char arg = (unsigned char)(args[0].int64Value);
/* convert from default codepage to Unicode */
- ufmt_defaultCPToUnicode((const char *)&arg, 2, s, sizeof(s)/sizeof(UChar));
+ ufmt_defaultCPToUnicode((const char *)&arg, 2, s, UPRV_LENGTHOF(s));
/* Remember that this may be an MBCS character */
if (arg != 0) {
/* set the spec's width to the # of chars written */
info->fWidth = *written;
/* fall through to set the pointer */
+ U_FALLTHROUGH;
case ufmt_string:
case ufmt_ustring:
case ufmt_pointer:
/* set the spec's width to the # of chars written */
info->fWidth = *written;
/* fall through to set the pointer */
+ U_FALLTHROUGH;
case ufmt_string:
case ufmt_ustring:
case ufmt_pointer: