From e257f28db012b0c5d2056fc0456f5c1e80e989b6 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 14 Oct 2005 01:50:58 +0000 Subject: [PATCH] [ Backpatch to 7.4.X.] Also I fixed a bug in a bug fix I committed a few weeks ago. he check for a varchar pointer was incomplete. Michael Meskes --- src/interfaces/ecpg/preproc/preproc.y | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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)