mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-09-19 18:47:54 +08:00
Merge branch 'master' into no-glib
This commit is contained in:
@@ -96,15 +96,24 @@ GPtrArray *mdb_read_catalog (MdbHandle *mdb, int objtype)
|
|||||||
/* mdb_table_dump(&msysobj); */
|
/* mdb_table_dump(&msysobj); */
|
||||||
|
|
||||||
table = mdb_read_table(&msysobj);
|
table = mdb_read_table(&msysobj);
|
||||||
if (!table) return NULL;
|
if (!table) {
|
||||||
|
mdb_free_catalog(mdb);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
mdb_read_columns(table);
|
mdb_read_columns(table);
|
||||||
|
|
||||||
mdb_bind_column_by_name(table, "Id", obj_id, NULL);
|
if (mdb_bind_column_by_name(table, "Id", obj_id, NULL) == -1 ||
|
||||||
mdb_bind_column_by_name(table, "Name", obj_name, NULL);
|
mdb_bind_column_by_name(table, "Name", obj_name, NULL) == -1 ||
|
||||||
mdb_bind_column_by_name(table, "Type", obj_type, NULL);
|
mdb_bind_column_by_name(table, "Type", obj_type, NULL) == -1 ||
|
||||||
mdb_bind_column_by_name(table, "Flags", obj_flags, NULL);
|
mdb_bind_column_by_name(table, "Flags", obj_flags, NULL) == -1) {
|
||||||
i = mdb_bind_column_by_name(table, "LvProp", obj_props, &kkd_size_ole);
|
mdb_free_catalog(mdb);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
if ((i = mdb_bind_column_by_name(table, "LvProp", obj_props, &kkd_size_ole)) == -1) {
|
||||||
|
mdb_free_catalog(mdb);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
col_props = g_ptr_array_index(table->columns, i-1);
|
col_props = g_ptr_array_index(table->columns, i-1);
|
||||||
|
|
||||||
mdb_rewind_table(table);
|
mdb_rewind_table(table);
|
||||||
@@ -133,7 +142,9 @@ GPtrArray *mdb_read_catalog (MdbHandle *mdb, int objtype)
|
|||||||
}
|
}
|
||||||
//mdb_dump_catalog(mdb, MDB_TABLE);
|
//mdb_dump_catalog(mdb, MDB_TABLE);
|
||||||
|
|
||||||
mdb_free_tabledef(table);
|
cleanup:
|
||||||
|
if (table)
|
||||||
|
mdb_free_tabledef(table);
|
||||||
|
|
||||||
return mdb->catalog;
|
return mdb->catalog;
|
||||||
}
|
}
|
||||||
|
@@ -64,7 +64,7 @@ print_col(FILE *outfile, gchar *col_val, int quote_text, int col_type, int bin_l
|
|||||||
fprintf(outfile, "%s%s", escape_char, escape_char);
|
fprintf(outfile, "%s%s", escape_char, escape_char);
|
||||||
col_val += orig_escape_len;
|
col_val += orig_escape_len;
|
||||||
#endif
|
#endif
|
||||||
} else if (is_binary_type(col_type) && *col_val <= 0 && bin_mode == MDB_BINEXPORT_OCTAL)
|
} else if (is_binary_type(col_type) && bin_mode == MDB_BINEXPORT_OCTAL)
|
||||||
fprintf(outfile, "\\%03o", *(unsigned char*)col_val++);
|
fprintf(outfile, "\\%03o", *(unsigned char*)col_val++);
|
||||||
else
|
else
|
||||||
putc(*col_val++, outfile);
|
putc(*col_val++, outfile);
|
||||||
|
Reference in New Issue
Block a user