Re: [pgsql-hackers-win32] snprintf causes regression tests - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [pgsql-hackers-win32] snprintf causes regression tests
Date
Msg-id 200503011429.j21ET7e15227@candle.pha.pa.us
Whole thread Raw
In response to Re: [pgsql-hackers-win32] snprintf causes regression tests to fail  (Nicolai Tufar <ntufar@gmail.com>)
Responses Re: [pgsql-hackers-win32] snprintf causes regression tests to fail
Re: [pgsql-hackers-win32] snprintf causes regression
List pgsql-hackers
Nicolai Tufar wrote:
> On Tue, 1 Mar 2005 00:55:20 -0500 (EST), Bruce Momjian
> > My next guess
> > is that Win32 isn't handling va_arg(..., long long int) properly.
> >
>
> I am trying various combination of number and types
> of parameters in my test program and everything prints fine.
> When it comes to pg, it fails :(
>
> > >       template1=# select * from test where x > 1000::int8;
> > >            x
> > >       ------------
> > >        -869367531
> > >       (1 row)
>
> I am not too fluent in source code, could someone
> point me to there actual call to snprintf() is being done
> when a query like this is executed. I could not find it myslef

Sure, in src/backend/utils/adt/int8.c, there is a call in int8out():

    if ((len = snprintf(buf, MAXINT8LEN, INT64_FORMAT, val)) < 0)

and that calls port/snprintf.c.

I have added a puts() in snprintf.c to make sure it is getting the
long/long specifier.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-hackers by date:

Previous
From: Nicolai Tufar
Date:
Subject: Re: [pgsql-hackers-win32] snprintf causes regression tests to fail
Next
From: Jeff Hoffmann
Date:
Subject: index file detached from data file