Are you referring to this code in storage/gdbm/gdbm.c::gdbm_init():

        /* check record lengths. This is the only spot where these
         * values are hard-coded.
         */
        if (sizeof(gdbm_timestamp) != 5
                        || sizeof(gdbm_data_value_header_t) != 16
                        || sizeof(gdbm_data_value_record_t) != 20
                        || sizeof(gdbm_lookup_t) != 8)
        {
                fprintf(stderr, "%s: bad record sizes in internal data "
                                "definition structures\n", me);
                exit(1);
        }

That, to me, looks like a fairly simple (if ill-advised) sanity check.  I'm
not sure what's it's purpose would be -- perhaps in the past (or even now),
ipac-ng is doing grubby things with the internals of GDBM structs.  Barring
that, I don't see what purpose those code is serving (although I've never
used GDBM, so perhaps there's a good reason for it).

Did you try commenting out this sanity check and seeing if ipac-ng ran
correctly?

If you're referring to other sections of the code where sizes are
hard-coded, could you please give some indication as to where in the system
the hard-coding is taking place?

- Matt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to