CVS compile failure

Started by Bruce Momjianover 21 years ago6 messages
#1Bruce Momjian
pgman@candle.pha.pa.us

I am seeing a compile failure in current CVS from strptime():

./backend/access/transam/xlog.c: if (strptime(tok2, "%Y-%m-%d %H:%M:%S", &tm) == NULL)

BSD/OS does not have that function.

-- 
  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
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#1)
Re: CVS compile failure

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am seeing a compile failure in current CVS from strptime():
./backend/access/transam/xlog.c: if (strptime(tok2, "%Y-%m-%d %H:%M:%S", &tm) == NULL)
BSD/OS does not have that function.

Hmph. I was wondering if that was really portable or not :-(.
Any ideas about a quick-and-dirty replacement?

Maybe we could call abstimein or something like that. We just want to
convert a human-readable string value to a time_t, and I can't say that
I thought the strptime behavior was all that friendly anyway...

regards, tom lane

#3Marc G. Fournier
scrappy@postgresql.org
In reply to: Tom Lane (#2)
Re: CVS compile failure

On Mon, 19 Jul 2004, Tom Lane wrote:

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am seeing a compile failure in current CVS from strptime():
./backend/access/transam/xlog.c: if (strptime(tok2, "%Y-%m-%d %H:%M:%S", &tm) == NULL)
BSD/OS does not have that function.

Hmph. I was wondering if that was really portable or not :-(.
Any ideas about a quick-and-dirty replacement?

Maybe we could call abstimein or something like that. We just want to
convert a human-readable string value to a time_t, and I can't say that
I thought the strptime behavior was all that friendly anyway...

Under FreeBSD:

" The strptime() function does not correctly handle multibyte characters in
the format argument"

Not sure how critical that is for what you are doing, mind you ...

----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Marc G. Fournier (#3)
Re: CVS compile failure

"Marc G. Fournier" <scrappy@postgresql.org> writes:

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am seeing a compile failure in current CVS from strptime():
./backend/access/transam/xlog.c: if (strptime(tok2, "%Y-%m-%d %H:%M:%S", &tm) == NULL)
BSD/OS does not have that function.

Under FreeBSD:
" The strptime() function does not correctly handle multibyte characters in
the format argument"
Not sure how critical that is for what you are doing, mind you ...

Not at all, since in this call the format is the fixed constant
"%Y-%m-%d %H:%M:%S". But it's odd that your BSD variant has strptime()
where Bruce's does not.

I suppose it doesn't much matter though: we have to recode without
strptime. No big deal. I'll fix it tomorrow if no one beats me to it.

regards, tom lane

#5Marc G. Fournier
scrappy@postgresql.org
In reply to: Tom Lane (#4)
Re: CVS compile failure

On Mon, 19 Jul 2004, Tom Lane wrote:

"Marc G. Fournier" <scrappy@postgresql.org> writes:

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am seeing a compile failure in current CVS from strptime():
./backend/access/transam/xlog.c: if (strptime(tok2, "%Y-%m-%d %H:%M:%S", &tm) == NULL)
BSD/OS does not have that function.

Under FreeBSD:
" The strptime() function does not correctly handle multibyte characters in
the format argument"
Not sure how critical that is for what you are doing, mind you ...

Not at all, since in this call the format is the fixed constant
"%Y-%m-%d %H:%M:%S". But it's odd that your BSD variant has strptime()
where Bruce's does not.

Bruce, how old is your system? :) If I'm reading the man page right, it
was introduced on FreeBSD in Jan of '03 ...

----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#1)
Re: CVS compile failure

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am seeing a compile failure in current CVS from strptime():

Should be fixed now. I wasn't very happy with strptime() there in
the first place, since it is inflexible about input format and
doesn't support a timezone specification. Using our own datetime
code works out much better.

regards, tom lane