From Ari Cooperman:
Mario,
Not sure if you are aware of this but I was having
troubles using
ta_yahoo or gen_rdate (or any dependent piece) for a
while over the
weekend (kept receiving error 83 - yahoo index
unavailable 2). I
initially thought there was something wrong with the
remote rdata files
on ta-lib.org, but there was problems when I tried to
recreate the
files
locally using Yahoo. I found that the problem occurs
on
64 bit
architectures as my 32 bit machine does not have
these
problems. The
problem is in decompressing a stream and reading in
the timestamp, as
the timestamps are long's and the stream decapsulate
function reads in
32 bits into an unsigned int. On my arch (EMT64 Xeon)
the long is 8
bytes and an unsigned int is 4 bytes. Since the
timestamp is not
initialized upon be passed into TA_StreamDecapsulate
function of the
buildIndexFromStream function in ta_yahoo_idx.c,
there
is garbage in
the
high order bits once the uint32 is set and thus when
the
date or time
gets validated it fails and returns an error. If I
initialize
the date
and time in the timestamp to 0 before passing in this
file
everything
works as it should.
Thanks
-Ari
Followups:
Date: 2005-11-14 03:34
Sender: fortier
Logged In: YES
user_id=1123
Update: Ari is currently working on fixing this by
making TA-Lib uses always 32 bits integers in
timestamps structure even on a 64 bits platform.
\Mario
(1350331)