|
10 | 10 | * |
11 | 11 | * |
12 | 12 | * IDENTIFICATION |
13 | | - * $PostgreSQL: pgsql/src/backend/utils/adt/numutils.c,v 1.69 2005/10/15 02:49:29 momjian Exp $ |
| 13 | + * $PostgreSQL: pgsql/src/backend/utils/adt/numutils.c,v 1.70 2005/11/30 23:10:08 tgl Exp $ |
14 | 14 | * |
15 | 15 | *------------------------------------------------------------------------- |
16 | 16 | */ |
17 | 17 | #include "postgres.h" |
18 | 18 |
|
19 | | -#include <errno.h> |
20 | 19 | #include <math.h> |
21 | 20 | #include <limits.h> |
22 | 21 | #include <ctype.h> |
@@ -84,19 +83,6 @@ pg_atoi(char *s, int size, int c) |
84 | 83 | errmsg("invalid input syntax for integer: \"%s\"", |
85 | 84 | s))); |
86 | 85 |
|
87 | | - /* |
88 | | - * Skip any trailing whitespace; if anything but whitespace remains before |
89 | | - * the terminating character, bail out |
90 | | - */ |
91 | | - while (*badp && *badp != c && isspace((unsigned char) *badp)) |
92 | | - badp++; |
93 | | - |
94 | | - if (*badp && *badp != c) |
95 | | - ereport(ERROR, |
96 | | - (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), |
97 | | - errmsg("invalid input syntax for integer: \"%s\"", |
98 | | - s))); |
99 | | - |
100 | 86 | switch (size) |
101 | 87 | { |
102 | 88 | case sizeof(int32): |
@@ -125,6 +111,20 @@ pg_atoi(char *s, int size, int c) |
125 | 111 | default: |
126 | 112 | elog(ERROR, "unsupported result size: %d", size); |
127 | 113 | } |
| 114 | + |
| 115 | + /* |
| 116 | + * Skip any trailing whitespace; if anything but whitespace remains before |
| 117 | + * the terminating character, bail out |
| 118 | + */ |
| 119 | + while (*badp && *badp != c && isspace((unsigned char) *badp)) |
| 120 | + badp++; |
| 121 | + |
| 122 | + if (*badp && *badp != c) |
| 123 | + ereport(ERROR, |
| 124 | + (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), |
| 125 | + errmsg("invalid input syntax for integer: \"%s\"", |
| 126 | + s))); |
| 127 | + |
128 | 128 | return (int32) l; |
129 | 129 | } |
130 | 130 |
|
|
0 commit comments