Commit dd31a1ea authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

msi: Fix typos which caused joins of three or more tables to not work properly.

In JOIN_fetch_int and JOIN_fetch_stream, prev_rows should be multiplied by the rows encountered in the current table so that prev_rows contains all of counts of the rows encountered multiplied together, rather than just the count of the rows in the last table encountered.
parent 0ec1e284
...@@ -77,7 +77,7 @@ static UINT JOIN_fetch_int( struct tagMSIVIEW *view, UINT row, UINT col, UINT *v ...@@ -77,7 +77,7 @@ static UINT JOIN_fetch_int( struct tagMSIVIEW *view, UINT row, UINT col, UINT *v
break; break;
} }
prev_rows = table->rows; prev_rows *= table->rows;
cols += table->columns; cols += table->columns;
} }
...@@ -108,7 +108,7 @@ static UINT JOIN_fetch_stream( struct tagMSIVIEW *view, UINT row, UINT col, IStr ...@@ -108,7 +108,7 @@ static UINT JOIN_fetch_stream( struct tagMSIVIEW *view, UINT row, UINT col, IStr
break; break;
} }
prev_rows = table->rows; prev_rows *= table->rows;
cols += table->columns; cols += table->columns;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment