diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 80b166221b0..d42dbc2709f 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.263.2.20 2005/08/24 10:35:54 meskes Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.263.2.21 2005/10/14 01:50:58 momjian Exp $ */ /* Copyright comment */ %{ @@ -5121,8 +5121,8 @@ variable: opt_pointer ECPGColLabelCommon opt_array_bounds opt_initializer *dim = '\0'; else sprintf(dim, "[%s]", dimension); - /* if (strcmp(length, "0") == 0)*/ - if (atoi(length) <= 0) + /* cannot check for atoi <= 0 because a defined constant will yield 0 here as well */ + if (atoi(length) < 0 || strcmp(length, "0") == 0) mmerror(PARSE_ERROR, ET_ERROR, "pointer to varchar are not implemented"); if (strcmp(dimension, "0") == 0)