Make to_hex() behave portably on negative input values (treat them as
unsigned integers). Per report from Jim Crate.
This commit is contained in:
parent
edc7f146e3
commit
7fc2d50877
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/varlena.c,v 1.108 2003/11/30 20:55:09 joe Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/varlena.c,v 1.109 2003/12/19 04:56:41 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -2230,11 +2230,11 @@ array_to_text(PG_FUNCTION_ARGS)
|
||||
Datum
|
||||
to_hex32(PG_FUNCTION_ARGS)
|
||||
{
|
||||
static char digits[] = "0123456789abcdef";
|
||||
char buf[32]; /* bigger than needed, but reasonable */
|
||||
char *ptr;
|
||||
uint32 value = (uint32) PG_GETARG_INT32(0);
|
||||
text *result_text;
|
||||
int32 value = PG_GETARG_INT32(0);
|
||||
char *ptr;
|
||||
const char *digits = "0123456789abcdef";
|
||||
char buf[32]; /* bigger than needed, but reasonable */
|
||||
|
||||
ptr = buf + sizeof(buf) - 1;
|
||||
*ptr = '\0';
|
||||
@ -2256,11 +2256,11 @@ to_hex32(PG_FUNCTION_ARGS)
|
||||
Datum
|
||||
to_hex64(PG_FUNCTION_ARGS)
|
||||
{
|
||||
static char digits[] = "0123456789abcdef";
|
||||
char buf[32]; /* bigger than needed, but reasonable */
|
||||
char *ptr;
|
||||
uint64 value = (uint64) PG_GETARG_INT64(0);
|
||||
text *result_text;
|
||||
int64 value = PG_GETARG_INT64(0);
|
||||
char *ptr;
|
||||
const char *digits = "0123456789abcdef";
|
||||
char buf[32]; /* bigger than needed, but reasonable */
|
||||
|
||||
ptr = buf + sizeof(buf) - 1;
|
||||
*ptr = '\0';
|
||||
|
Loading…
x
Reference in New Issue
Block a user