*/
#define NUM_TOCHAR_prepare \
do { \
- len = VARSIZE_ANY_EXHDR(fmt); \
+ int len = VARSIZE_ANY_EXHDR(fmt); \
if (len <= 0 || len >= (INT_MAX-VARHDRSZ)/NUM_MAX_ITEM_SIZ) \
PG_RETURN_TEXT_P(cstring_to_text("")); \
result = (text *) palloc0((len * NUM_MAX_ITEM_SIZ) + 1 + VARHDRSZ); \
*/
#define NUM_TOCHAR_finish \
do { \
+ int len; \
+ \
NUM_processor(format, &Num, VARDATA(result), numstr, plen, sign, true, PG_GET_COLLATION()); \
\
if (shouldFree) \
FormatNode *format;
text *result;
bool shouldFree;
- int len = 0,
- plen = 0,
+ int plen = 0,
sign = 0;
char *numstr,
*orgnum,
numstr = (char *) palloc(strlen(orgnum) + 2);
*numstr = ' ';
strcpy(numstr + 1, orgnum);
- len = strlen(numstr);
}
else
{
numstr = orgnum;
- len = strlen(orgnum);
}
}
else
{
+ int len;
Numeric val = value;
if (IS_MULTI(&Num))
FormatNode *format;
text *result;
bool shouldFree;
- int len = 0,
- plen = 0,
+ int plen = 0,
sign = 0;
char *numstr,
*orgnum;
if (*orgnum == '+')
*orgnum = ' ';
- len = strlen(orgnum);
numstr = orgnum;
}
else
{
+ int len;
+
if (IS_MULTI(&Num))
{
orgnum = DatumGetCString(DirectFunctionCall1(int4out,
FormatNode *format;
text *result;
bool shouldFree;
- int len = 0,
- plen = 0,
+ int plen = 0,
sign = 0;
char *numstr,
*orgnum;
numstr = (char *) palloc(strlen(orgnum) + 2);
*numstr = ' ';
strcpy(numstr + 1, orgnum);
- len = strlen(numstr);
}
else
{
numstr = orgnum;
- len = strlen(orgnum);
}
}
else
{
+ int len;
+
if (IS_MULTI(&Num))
{
double multi = pow((double) 10, (double) Num.multi);
FormatNode *format;
text *result;
bool shouldFree;
- int len = 0,
- plen = 0,
+ int plen = 0,
sign = 0;
char *numstr,
*orgnum,
if (*orgnum == '+')
*orgnum = ' ';
- len = strlen(orgnum);
numstr = orgnum;
}
}
else
{
float4 val = value;
+ int len;
if (IS_MULTI(&Num))
{
FormatNode *format;
text *result;
bool shouldFree;
- int len = 0,
- plen = 0,
+ int plen = 0,
sign = 0;
char *numstr,
*orgnum,
if (*orgnum == '+')
*orgnum = ' ';
- len = strlen(orgnum);
numstr = orgnum;
}
}
else
{
float8 val = value;
+ int len;
if (IS_MULTI(&Num))
{