< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] Compilation error in latest code


> > os/Data.cxx: In function `size_t buzHash(const char*, unsigned int)':
> > os/Data.cxx:1452: error: integer constant is too large for "long" type
> >
> > The line in question is:
> > size_t h = 0x294b71649;
> >
> > This function was added a couple of days back.
> >
> > Can the author please post a fix for this?

Fixed. One digit too many. My compiler didn't complain.

The buzHash function is not used. I was looking into an allegedly faster 
alternative to the 4 byte Pearson hash. Uris in code for those interested in 
the issue.
 
[Alan]
> Is it just me or do other people get creeped out when Data changes? :-)

Changes to Data are a cause for alarm. I made two changes recently and should 
fess up.

1. Removed the memsets on the internal buffer. They were gratuitous.

2. Generalized the Take/Share enum to include Borrow. Borrow is used to 
indicate that the Data is using a writable but not owned buffer. Borrow is used 
to indicate that the internal buffer is being used. Borrow also allows Datas to 
be created that use stack memory rather than heap memory.

david