Index: src/bin/psql/print.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/print.c,v
retrieving revision 1.69
diff -c -c -r1.69 print.c
*** src/bin/psql/print.c	14 Jul 2005 21:12:41 -0000	1.69
--- src/bin/psql/print.c	18 Jul 2005 17:16:37 -0000
***************
*** 68,77 ****
  	int int_len = integer_digits(my_str), sep_len;
  	int	groupdigits = atoi(grouping);
  
! 	if (int_len % groupdigits != 0)
! 		sep_len = int_len / groupdigits;
  	else
! 		sep_len = int_len / groupdigits - 1;	/* no leading separator */
  
  	return sep_len * strlen(thousands_sep) -
  		   strlen(".") + strlen(decimal_point);
--- 68,78 ----
  	int int_len = integer_digits(my_str), sep_len;
  	int	groupdigits = atoi(grouping);
  
! 	if (int_len == 0)
! 		sep_len = 0;
  	else
! 		/* Don't count a leading separator */
! 		sep_len = int_len / groupdigits - (int_len % groupdigits == 0);
  
  	return sep_len * strlen(thousands_sep) -
  		   strlen(".") + strlen(decimal_point);
***************
*** 93,99 ****
  	if (my_str[0] == '-')
  		my_str++;
  	
! 	new_str = pg_local_malloc(len_numericseps(my_str) + 1);
  
  	leading_digits = (int_len % groupdigits != 0) ?
  					 int_len % groupdigits : groupdigits;
--- 94,100 ----
  	if (my_str[0] == '-')
  		my_str++;
  	
! 	new_str = pg_local_malloc(len_with_numericsep(my_str) + 1);
  
  	leading_digits = (int_len % groupdigits != 0) ?
  					 int_len % groupdigits : groupdigits;
