What could be causing the result to be 21 is if rows have been deleted
from the table and rows added afterwards. 21 could be the index of th
e last row. I might be wrong, but it would appear to make sense.
Someone with a bit more time might be able to help,
Sam
On Wed, 16 Mar 2005 08:17:09 +0100, Miklós Fazekas <boga@xxxxxxx> wrote:
> I've tried to use mdb-import for a simple jet4 db.
> The result was a crash in the following code:
>
> (The sample file can be found attached to the bug:
> http://sourceforge.net/tracker/index.php?
> func=detail&aid=1163895&group_id=2294&atid=102294
> )
>
> } else { /* is not a temp table */
> new_pg = mdb_new_data_pg(entry);
>
> num_rows = mdb_pg_get_int16(mdb, fmt->row_count_offset);
> pos = fmt->pg_size;
>
> /* copy existing rows */
> for (i=0;i<num_rows;i++) {
> mdb_find_row(mdb, i, &row_start, &row_size);
> pos -= row_size;
>
> memcpy(&new_pg[pos], &mdb->pg_buf[row_start], row_size);
> ^^^^^^^^^^^^^-crash for i == 5
> _mdb_put_int16(new_pg, (fmt->row_count_offset + 2) + (i*2),
> pos);
> }
> }
>
> Any hints?!
> For me the num_rows seems to be too large (it's 21 while the table has
> only 4 rows), but i might be completly wrong.
> [ And setting the num_rows to 4 solved the crash but the result was
> still a bit bogus... ]
>
> Regards,
> Miklós
>
>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
|