OK, I talked to Andrew via IM and he says it is fixed in CVS. ---------------------------------------------------------------------------
Andrew Dunstan wrote: > > Patch attached. Also adds a malloc() check that Neil wanted. > > cheers > > andrew > > Tom Lane wrote: > > >Andrew Dunstan <[EMAIL PROTECTED]> writes: > > > > > >>*sigh* > >> > >> > > > > > > > >>my local (linux) man for gettimeofday says this: > >> > >> > > > > > > > >> struct timeval { > >> time_t tv_sec; /* seconds */ > >> suseconds_t tv_usec; /* microseconds */ > >> }; > >> > >> > > > >Yeah, but mine (HPUX) says that tv_sec is "unsigned long". I suspect > >that on Darwin the types disagree as to signedness. > > > > > > > >>We could do what you say, or could we just cast it? > >> > >> > > > >If they really were different types (as in different widths) then > >casting the pointer would be a highly Wrong Thing. I think copying > >to a local is safer, even if it does waste a cycle or two. > > > > regards, tom lane > > > >---------------------------(end of broadcast)--------------------------- > >TIP 6: Have you searched our list archives? > > > > http://archives.postgresql.org > > > > > > > Index: src/backend/utils/error/elog.c > =================================================================== > RCS file: /projects/cvsroot/pgsql-server/src/backend/utils/error/elog.c,v > retrieving revision 1.128 > diff -c -r1.128 elog.c > *** src/backend/utils/error/elog.c 15 Mar 2004 15:56:23 -0000 1.128 > --- src/backend/utils/error/elog.c 18 Mar 2004 22:55:44 -0000 > *************** > *** 1035,1041 **** > --- 1035,1045 ---- > int result_len = 2*NAMEDATALEN + format_len +120 ; > > if (result == NULL) > + { > result = malloc(result_len); > + if (result == NULL) > + return ""; > + } > result[0] = '\0'; > > if (format_len > 0) > *************** > *** 1119,1126 **** > localtime(&stamp_time)); > break; > case 's': > j += strftime(result+j, result_len-j, > "%Y-%m-%d %H:%M:%S", > ! > localtime(&(MyProcPort->session_start.tv_sec))); > break; > case 'i': > j += snprintf(result+j,result_len-j,"%s", > --- 1123,1131 ---- > localtime(&stamp_time)); > break; > case 's': > + stamp_time = > (time_t)(MyProcPort->session_start.tv_sec); > j += strftime(result+j, result_len-j, > "%Y-%m-%d %H:%M:%S", > ! localtime(&stamp_time)); > break; > case 'i': > j += snprintf(result+j,result_len-j,"%s", > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings