diff --git a/src/backend/utils/adt/int.c b/src/backend/utils/adt/int.c index 66cbca7079..18755894ae 100644 --- a/src/backend/utils/adt/int.c +++ b/src/backend/utils/adt/int.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/int.c,v 1.86 2009/09/04 11:20:22 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/int.c,v 1.87 2009/12/30 01:29:22 rhaas Exp $ * *------------------------------------------------------------------------- */ @@ -146,10 +146,11 @@ int2vectorin(PG_FUNCTION_ARGS) for (n = 0; *intString && n < FUNC_MAX_ARGS; n++) { - if (sscanf(intString, "%hd", &result->values[n]) != 1) - break; while (*intString && isspace((unsigned char) *intString)) intString++; + if (*intString == '\0') + break; + result->values[n] = pg_atoi(intString, sizeof(int16), ' '); while (*intString && !isspace((unsigned char) *intString)) intString++; }