James Hawkins : msi: Use fetch_int to reduce code duplication and access to table data.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jun 8 07:19:09 CDT 2007


Module: wine
Branch: master
Commit: 298699e2426e2e2687d5d655e73ccd9ecd3db2fc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=298699e2426e2e2687d5d655e73ccd9ecd3db2fc

Author: James Hawkins <truiken at 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;




More information about the wine-cvs mailing list