Module: wine Branch: master Commit: 298699e2426e2e2687d5d655e73ccd9ecd3db2fc URL: http://source.winehq.org/git/wine.git/?a=commit;h=298699e2426e2e2687d5d655e7...
Author: James Hawkins truiken@gmail.com Date: Thu Jun 7 16:37:48 2007 -0700
msi: Use fetch_int to reduce code duplication and access to table data.
---
dlls/msi/table.c | 29 +++-------------------------- 1 files changed, 3 insertions(+), 26 deletions(-)
diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 64ddcab..bba93dc 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1565,33 +1565,10 @@ static UINT TABLE_find_matching_rows( struct tagMSIVIEW *view, UINT col,
for (i = 0; i < num_rows; i++, new_entry++) { - UINT row_value, n; - UINT offset; - USHORT **data; - UINT row = i; - if( row >= tv->table->row_count ) - { - row -= tv->table->row_count; - data = tv->table->nonpersistent_data; - } - else - data = tv->table->data; - n = bytes_per_column( &tv->columns[col-1] ); - switch( n ) - { - case 4: - offset = tv->columns[col-1].offset/2; - row_value = data[row][offset] + - (data[row][offset + 1] << 16); - break; - case 2: - offset = tv->columns[col-1].offset/2; - row_value = data[row][offset]; - break; - default: - ERR("oops! what is %d bytes per column?\n", n ); + UINT row_value; + + if (view->ops->fetch_int( view, i, col, &row_value ) != ERROR_SUCCESS) continue; - }
new_entry->next = NULL; new_entry->value = row_value;