mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-28 11:55:03 +03:00 
			
		
		
		
	Fix numiericsep length computations.
Eugen Nedelcu
This commit is contained in:
		| @@ -3,7 +3,7 @@ | |||||||
|  * |  * | ||||||
|  * Copyright (c) 2000-2005, PostgreSQL Global Development Group |  * Copyright (c) 2000-2005, PostgreSQL Global Development Group | ||||||
|  * |  * | ||||||
|  * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.69 2005/07/14 21:12:41 momjian Exp $ |  * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.70 2005/07/18 18:58:45 momjian Exp $ | ||||||
|  */ |  */ | ||||||
| #include "postgres_fe.h" | #include "postgres_fe.h" | ||||||
| #include "common.h" | #include "common.h" | ||||||
| @@ -68,10 +68,11 @@ len_numericseps(const char *my_str) | |||||||
| 	int int_len = integer_digits(my_str), sep_len; | 	int int_len = integer_digits(my_str), sep_len; | ||||||
| 	int	groupdigits = atoi(grouping); | 	int	groupdigits = atoi(grouping); | ||||||
|  |  | ||||||
| 	if (int_len % groupdigits != 0) | 	if (int_len == 0) | ||||||
| 		sep_len = int_len / groupdigits; | 		sep_len = 0; | ||||||
| 	else | 	else | ||||||
| 		sep_len = int_len / groupdigits - 1;	/* no leading separator */ | 		/* Don't count a leading separator */ | ||||||
|  | 		sep_len = int_len / groupdigits - (int_len % groupdigits == 0); | ||||||
|  |  | ||||||
| 	return sep_len * strlen(thousands_sep) - | 	return sep_len * strlen(thousands_sep) - | ||||||
| 		   strlen(".") + strlen(decimal_point); | 		   strlen(".") + strlen(decimal_point); | ||||||
| @@ -93,7 +94,7 @@ format_numericsep(char *my_str) | |||||||
| 	if (my_str[0] == '-') | 	if (my_str[0] == '-') | ||||||
| 		my_str++; | 		my_str++; | ||||||
| 	 | 	 | ||||||
| 	new_str = pg_local_malloc(len_numericseps(my_str) + 1); | 	new_str = pg_local_malloc(len_with_numericsep(my_str) + 1); | ||||||
|  |  | ||||||
| 	leading_digits = (int_len % groupdigits != 0) ? | 	leading_digits = (int_len % groupdigits != 0) ? | ||||||
| 					 int_len % groupdigits : groupdigits; | 					 int_len % groupdigits : groupdigits; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user