mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
Have pg_itoa, pg_ltoa and pg_lltoa return the length of the string
Core by no means makes excessive use of these functions, but quite a large number of those usages do require the caller to call strlen() on the returned string. This is quite wasteful since these functions do already have a good idea of the length of the string, so we might as well just have them return that. Reviewed-by: Andrew Gierth Discussion: https://postgr.es/m/CAApHDvrm2A5x2uHYxsqriO2cUaGcFvND%2BksC9e7Tjep0t2RK_A%40mail.gmail.com
This commit is contained in:
@@ -103,9 +103,10 @@ printsimple(TupleTableSlot *slot, DestReceiver *self)
|
||||
{
|
||||
int32 num = DatumGetInt32(value);
|
||||
char str[12]; /* sign, 10 digits and '\0' */
|
||||
int len;
|
||||
|
||||
pg_ltoa(num, str);
|
||||
pq_sendcountedtext(&buf, str, strlen(str), false);
|
||||
len = pg_ltoa(num, str);
|
||||
pq_sendcountedtext(&buf, str, len, false);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -113,9 +114,10 @@ printsimple(TupleTableSlot *slot, DestReceiver *self)
|
||||
{
|
||||
int64 num = DatumGetInt64(value);
|
||||
char str[MAXINT8LEN + 1];
|
||||
int len;
|
||||
|
||||
pg_lltoa(num, str);
|
||||
pq_sendcountedtext(&buf, str, strlen(str), false);
|
||||
len = pg_lltoa(num, str);
|
||||
pq_sendcountedtext(&buf, str, len, false);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user