Fix compiler-detected problem for Alphas: it seems strlen returns
authorTom Lane
Wed, 6 Aug 2003 15:54:06 +0000 (15:54 +0000)
committerTom Lane
Wed, 6 Aug 2003 15:54:06 +0000 (15:54 +0000)
something wider than int on that platform.  Also, remove bogus
assumption that sizeof("INT_MAX") has something to do with the maximum
number of digits in an int.

src/interfaces/ecpg/preproc/preproc.y

index 5aab750345b3c4af9f9718bf5b42b1f04f3c1c63..14f51f8460dc4a1bc38436356c1695c74ebda740 100644 (file)
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.250 2003/08/01 11:25:55 meskes Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.251 2003/08/06 15:54:06 tgl Exp $ */
 
 /* Copyright comment */
 %{
@@ -5290,9 +5290,9 @@ UsingConst: AllConst
        {
            if ($1[1] != '?') /* found a constant */
            {
-               char *length = mm_alloc(sizeof("INT_MAX")+1);
+               char *length = mm_alloc(32);
 
-               sprintf(length, "%d", strlen($1));
+               sprintf(length, "%d", (int) strlen($1));
                add_variable(&argsinsert, new_variable($1, ECPGmake_simple_type(ECPGt_const, length), 0), &no_indicator);
            }
        }