mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 00:03:57 -04:00 
			
		
		
		
	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