diff --git a/ChangeLog b/ChangeLog index bbb23ce..87a4e13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Sat Jul 2 02:12:39 CDT 2005 Jeff Smith + * include/mdbtools.h: + * src/libmdb/data.c: + * src/libmdb/dump.c: + * src/libmdb/index.c: + * src/libmdb/props.c: + * src/libmdb/table.c: + * src/libmdb/write.c: Alter buffer_dump's third parameter from 'end' to 'length' + Mon Jun 27 23:52:15 CDT 2005 Jeff Smith * include/mdbtools.h: * src/gmdb2/debug.c: diff --git a/include/mdbtools.h b/include/mdbtools.h index 9d83395..65e39d7 100644 --- a/include/mdbtools.h +++ b/include/mdbtools.h @@ -452,7 +452,7 @@ extern void mdb_set_date_fmt(const char *); extern int mdb_read_row(MdbTableDef *table, unsigned int row); /* dump.c */ -extern void buffer_dump(const void *buf, int start, int end); +extern void buffer_dump(const void *buf, int start, size_t len); /* backend.c */ extern char *mdb_get_coltype_string(MdbBackend *backend, int col_type); diff --git a/src/libmdb/data.c b/src/libmdb/data.c index bc2249a..f8c53a7 100644 --- a/src/libmdb/data.c +++ b/src/libmdb/data.c @@ -274,7 +274,7 @@ int mdb_read_row(MdbTableDef *table, unsigned int row) #endif #if MDB_DEBUG - buffer_dump(mdb->pg_buf, row_start, row_start + row_size - 1); + buffer_dump(mdb->pg_buf, row_start, row_size); #endif /* take advantage of mdb_crack_row() to clean up binding */ @@ -610,7 +610,7 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size) } #if MDB_DEBUG - buffer_dump(pg_buf, start, start + MDB_MEMO_OVERHEAD - 1); + buffer_dump(pg_buf, start, MDB_MEMO_OVERHEAD); #endif /* The 32 bit integer at offset 0 is the length of the memo field @@ -637,7 +637,7 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size) #if MDB_DEBUG printf("row num %d start %d len %d\n", pg_row & 0xff, row_start, len); - buffer_dump(buf, row_start, row_start + len - 1); + buffer_dump(buf, row_start, len); #endif mdb_unicode2ascii(mdb, buf + row_start, len, text, MDB_BIND_SIZE); return text; diff --git a/src/libmdb/dump.c b/src/libmdb/dump.c index e273962..861f9e5 100644 --- a/src/libmdb/dump.c +++ b/src/libmdb/dump.c @@ -6,14 +6,14 @@ #include "dmalloc.h" #endif -void buffer_dump(const void* buf, int start, int end) +void buffer_dump(const void* buf, int start, size_t len) { char asc[20]; int j, k; memset(asc, 0, sizeof(asc)); k = 0; - for (j=start; j<=end; j++) { + for (j=start; jlen, ipg->mask_pos); - //buffer_dump(mdb->pg_buf, ipg->offset, ipg->offset+ipg->len-1); + //buffer_dump(mdb->pg_buf, ipg->offset, ipg->len); return ipg->len; } diff --git a/src/libmdb/props.c b/src/libmdb/props.c index d676f9d..c5ff913 100644 --- a/src/libmdb/props.c +++ b/src/libmdb/props.c @@ -31,7 +31,7 @@ mdb_read_props_list(gchar *kkd, int len) names = g_ptr_array_new(); #ifdef MDB_DEBUG - buffer_dump(kkd, 0, len - 1); + buffer_dump(kkd, 0, len); #endif pos = 0; while (pos < len) { @@ -39,7 +39,7 @@ mdb_read_props_list(gchar *kkd, int len) pos += 2; #ifdef MDB_DEBUG printf("%02d ",i++); - buffer_dump(kkd, pos - 2, pos + record_len - 1); + buffer_dump(kkd, pos - 2, record_len + 2); #endif name = g_malloc(record_len + 1); strncpy(name, &kkd[pos], record_len); @@ -80,7 +80,7 @@ mdb_read_props(MdbHandle *mdb, GPtrArray *names, gchar *kkd, int len) int i = 0; #ifdef MDB_DEBUG - buffer_dump(kkd, 0, len - 1); + buffer_dump(kkd, 0, len); #endif pos = 0; @@ -110,7 +110,7 @@ mdb_read_props(MdbHandle *mdb, GPtrArray *names, gchar *kkd, int len) name = g_ptr_array_index(names,elem); #ifdef MDB_DEBUG printf("%02d ",i++); - buffer_dump(kkd, pos, pos + record_len - 1); + buffer_dump(kkd, pos, record_len); printf("elem %d dsize %d dtype %d\n", elem, dsize, dtype); #endif if (dtype == MDB_MEMO) dtype = MDB_TEXT; diff --git a/src/libmdb/table.c b/src/libmdb/table.c index dc31fd8..9e2ff37 100644 --- a/src/libmdb/table.c +++ b/src/libmdb/table.c @@ -97,7 +97,7 @@ MdbTableDef *mdb_read_table(MdbCatalogEntry *entry) mdb_find_pg_row(mdb, pg_row, &buf, &row_start, &(table->map_sz)); table->usage_map = g_memdup(buf + row_start, table->map_sz); if (mdb_get_option(MDB_DEBUG_USAGE)) - buffer_dump(buf, row_start, row_start+table->map_sz-1); + buffer_dump(buf, row_start, table->map_sz); mdb_debug(MDB_DEBUG_USAGE,"usage map found on page %ld row %d start %d len %d", pg_row >> 8, pg_row & 0xff, row_start, table->map_sz); @@ -220,7 +220,7 @@ GPtrArray *mdb_read_columns(MdbTableDef *table) for (i=0;inum_cols;i++) { #ifdef MDB_DEBUG /* printf("column %d\n", i); - buffer_dump(mdb->pg_buf, cur_pos ,cur_pos + 18); */ + buffer_dump(mdb->pg_buf, cur_pos, fmt->tab_col_entry_size); */ #endif read_pg_if_n(mdb, col, &cur_pos, fmt->tab_col_entry_size); cur_pos += fmt->tab_col_entry_size; diff --git a/src/libmdb/write.c b/src/libmdb/write.c index 6ced04e..edb2379 100644 --- a/src/libmdb/write.c +++ b/src/libmdb/write.c @@ -158,7 +158,7 @@ mdb_crack_row(MdbTableDef *table, int row_start, int row_end, MdbField *fields) unsigned int i; if (mdb_get_option(MDB_DEBUG_ROW)) { - buffer_dump(pg_buf, row_start, row_end); + buffer_dump(pg_buf, row_start, row_end - row_start + 1); } if (IS_JET4(mdb)) { @@ -537,7 +537,7 @@ mdb_insert_row(MdbTableDef *table, int num_fields, MdbField *fields) } new_row_size = mdb_pack_row(table, row_buffer, num_fields, fields); if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(row_buffer, 0, new_row_size-1); + buffer_dump(row_buffer, 0, new_row_size); } pgnum = mdb_map_find_next_freepage(table, new_row_size); if (!pgnum) { @@ -548,8 +548,8 @@ mdb_insert_row(MdbTableDef *table, int num_fields, MdbField *fields) rownum = mdb_add_row_to_pg(table, row_buffer, new_row_size); if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(mdb->pg_buf, 0, 39); - buffer_dump(mdb->pg_buf, fmt->pg_size - 160, fmt->pg_size-1); + buffer_dump(mdb->pg_buf, 0, 40); + buffer_dump(mdb->pg_buf, fmt->pg_size - 160, 160); } mdb_debug(MDB_DEBUG_WRITE, "writing page %d", pgnum); if (!mdb_write_pg(mdb, pgnum)) { @@ -651,7 +651,7 @@ unsigned int num_fields; mdb_debug(MDB_DEBUG_WRITE,"page %lu row %d start %d end %d", (unsigned long) table->cur_phys_pg, table->cur_row-1, row_start, row_end); if (mdb_get_option(MDB_DEBUG_LIKE)) - buffer_dump(mdb->pg_buf, row_start, row_end); + buffer_dump(mdb->pg_buf, row_start, old_row_size); for (i=0;inum_cols;i++) { col = g_ptr_array_index(table->columns,i); @@ -677,7 +677,7 @@ unsigned int num_fields; new_row_size = mdb_pack_row(table, row_buffer, num_fields, fields); if (mdb_get_option(MDB_DEBUG_WRITE)) - buffer_dump(row_buffer, 0, new_row_size-1); + buffer_dump(row_buffer, 0, new_row_size); if (new_row_size > (old_row_size + mdb_pg_get_freespace(mdb))) { fprintf(stderr, "No space left on this page, update will not occur\n"); return 0; @@ -700,8 +700,8 @@ guint16 num_rows; int i, pos; if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(mdb->pg_buf, 0, 39); - buffer_dump(mdb->pg_buf, pg_size - 160, pg_size-1); + buffer_dump(mdb->pg_buf, 0, 40); + buffer_dump(mdb->pg_buf, pg_size - 160, 160); } mdb_debug(MDB_DEBUG_WRITE,"updating row %d on page %lu", row, (unsigned long) table->cur_phys_pg); new_pg = mdb_new_data_pg(entry); @@ -739,8 +739,8 @@ int i, pos; _mdb_put_int16(mdb->pg_buf, 2, mdb_pg_get_freespace(mdb)); if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(mdb->pg_buf, 0, 39); - buffer_dump(mdb->pg_buf, pg_size - 160, pg_size-1); + buffer_dump(mdb->pg_buf, 0, 40); + buffer_dump(mdb->pg_buf, pg_size - 160, 160); } /* drum roll, please */ if (!mdb_write_pg(mdb, table->cur_phys_pg)) { @@ -802,9 +802,9 @@ mdb_copy_index_pg(MdbTableDef *table, MdbIndex *idx, MdbIndexPage *ipg) key_hash[col->col_size - 1] &= 0x7f; if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(mdb->pg_buf, ipg->offset, ipg->offset + ipg->len - 1); - buffer_dump(mdb->pg_buf, ipg->offset + 1, ipg->offset + col->col_size); - buffer_dump(key_hash, 0, col->col_size - 1); + buffer_dump(mdb->pg_buf, ipg->offset, ipg->len); + buffer_dump(mdb->pg_buf, ipg->offset + 1, col->col_size); + buffer_dump(key_hash, 0, col->col_size); } memcpy(new_pg + ipg->offset, mdb->pg_buf + ipg->offset, ipg->len); @@ -822,8 +822,8 @@ mdb_copy_index_pg(MdbTableDef *table, MdbIndex *idx, MdbIndexPage *ipg) key_hash[0] |= 0x080; if (mdb_get_option(MDB_DEBUG_WRITE)) { printf("key_hash\n"); - buffer_dump(idx_fields[0].value, 0, col->col_size-1); - buffer_dump(key_hash, 0, col->col_size-1); + buffer_dump(idx_fields[0].value, 0, col->col_size); + buffer_dump(key_hash, 0, col->col_size); printf("--------\n"); } ((char *)new_pg)[ipg->offset] = 0x7f; @@ -833,12 +833,12 @@ mdb_copy_index_pg(MdbTableDef *table, MdbIndex *idx, MdbIndexPage *ipg) ipg->idx_starts[row++] = ipg->offset + ipg->len; //ipg->idx_starts[row] = ipg->offset + ipg->len; if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(mdb->pg_buf, 0, mdb->fmt->pg_size-1); + buffer_dump(mdb->pg_buf, 0, mdb->fmt->pg_size); } memcpy(mdb->pg_buf, new_pg, mdb->fmt->pg_size); mdb_index_pack_bitmap(mdb, ipg); if (mdb_get_option(MDB_DEBUG_WRITE)) { - buffer_dump(mdb->pg_buf, 0, mdb->fmt->pg_size-1); + buffer_dump(mdb->pg_buf, 0, mdb->fmt->pg_size); } g_free(new_pg);