33 *
44 * Copyright (c) 2000-2005, PostgreSQL Global Development Group
55 *
6- * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.69 2005/07/14 21:12:41 momjian Exp $
6+ * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.70 2005/07/18 18:58:45 momjian Exp $
77 */
88#include "postgres_fe.h"
99#include "common.h"
@@ -68,10 +68,11 @@ len_numericseps(const char *my_str)
6868int int_len = integer_digits (my_str ),sep_len ;
6969int groupdigits = atoi (grouping );
7070
71- if (int_len % groupdigits ! =0 )
72- sep_len = int_len / groupdigits ;
71+ if (int_len = =0 )
72+ sep_len = 0 ;
7373else
74- sep_len = int_len /groupdigits - 1 ;/* no leading separator */
74+ /* Don't count a leading separator */
75+ sep_len = int_len /groupdigits - (int_len %groupdigits == 0 );
7576
7677return sep_len * strlen (thousands_sep )-
7778strlen ("." )+ strlen (decimal_point );
@@ -93,7 +94,7 @@ format_numericsep(char *my_str)
9394if (my_str [0 ]== '-' )
9495my_str ++ ;
9596
96- new_str = pg_local_malloc (len_numericseps (my_str )+ 1 );
97+ new_str = pg_local_malloc (len_with_numericsep (my_str )+ 1 );
9798
9899leading_digits = (int_len %groupdigits != 0 ) ?
99100int_len %groupdigits :groupdigits ;