--On June 19, 2009 9:57:03 AM +1000 Bron Gondwana wrote:
> On Thu, Jun 18, 2009 at 05:44:19PM -0400, Michael Bacon wrote:
>> Another one stomped here. This time, it's a 32/64 bit issue. myinit in
>> cyrusdb_skiplist.c assumes that type_t is 4 bytes long, and writes out
>> that many from the cu
Right, right, I suppose changing database formats is somehow "bad..." :)
This fix also works -- thanks.
-Michael
--On June 19, 2009 10:09:16 AM +1000 Bron Gondwana
wrote:
> On Thu, Jun 18, 2009 at 05:44:19PM -0400, Michael Bacon wrote:
>> The fix for it is below. I will also open a bugzilla
On Fri, 19 Jun 2009 06:47 +0200, "Gabor Gombas" wrote:
> On Fri, Jun 19, 2009 at 10:09:16AM +1000, Bron Gondwana wrote:
>
> > @@ -192,6 +192,18 @@ struct db_list {
> > static time_t global_recovery = 0;
> > static struct db_list *open_db = NULL;
> >
> > +#define BIT32_MAX 4294967295U
> > +
On Fri, Jun 19, 2009 at 10:09:16AM +1000, Bron Gondwana wrote:
> @@ -192,6 +192,18 @@ struct db_list {
> static time_t global_recovery = 0;
> static struct db_list *open_db = NULL;
>
> +#define BIT32_MAX 4294967295U
> +
> +#if UINT_MAX == BIT32_MAX
> +typedef unsigned int bit32;
> +#elif ULONG
On Thu, Jun 18, 2009 at 05:44:19PM -0400, Michael Bacon wrote:
> Another one stomped here. This time, it's a 32/64 bit issue. myinit in
> cyrusdb_skiplist.c assumes that type_t is 4 bytes long, and writes out
> that many from the current timestamp when creating $confdir/db/skipstamp.
Actuall
On Thu, Jun 18, 2009 at 05:44:19PM -0400, Michael Bacon wrote:
> The fix for it is below. I will also open a bugzilla issue for this.
I think this is actually a better fix that keeps things in the
right type on to disk. Can you please test it on your platform.
Thanks,
Bron.
>From 4adb3fb5d7f20
On Thu, Jun 18, 2009 at 05:44:19PM -0400, Michael Bacon wrote:
> Another one stomped here. This time, it's a 32/64 bit issue. myinit in
> cyrusdb_skiplist.c assumes that type_t is 4 bytes long, and writes out
> that many from the current timestamp when creating $confdir/db/skipstamp.
> On 64
Another one stomped here. This time, it's a 32/64 bit issue. myinit in
cyrusdb_skiplist.c assumes that type_t is 4 bytes long, and writes out that
many from the current timestamp when creating $confdir/db/skipstamp. On
64-bit Solaris, time_t is 8 bytes (it's typedef'ed as a long). I'm
forge