James Hawkins : msi: Add handling for MSIMODIFY_INSERT for the streams table.
Module: wine Branch: master Commit: 2694cf3ff8296ce16b572cbf9f2ff7e2783de13d URL: http://source.winehq.org/git/wine.git/?a=commit;h=2694cf3ff8296ce16b572cbf9f... Author: James Hawkins <truiken(a)gmail.com> Date: Wed Oct 17 22:58:31 2007 -0500 msi: Add handling for MSIMODIFY_INSERT for the streams table. --- dlls/msi/streams.c | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c index 4a40a12..a4c0a52 100644 --- a/dlls/msi/streams.c +++ b/dlls/msi/streams.c @@ -280,8 +280,36 @@ static UINT STREAMS_get_column_info(struct tagMSIVIEW *view, static UINT STREAMS_modify(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *rec, UINT row) { - FIXME("(%p, %d, %p): stub!\n", view, eModifyMode, rec); - return ERROR_SUCCESS; + UINT r; + + TRACE("%p %d %p\n", view, eModifyMode, rec); + + switch (eModifyMode) + { + case MSIMODIFY_INSERT: + r = STREAMS_insert_row(view, rec, FALSE); + break; + + case MSIMODIFY_VALIDATE_NEW: + case MSIMODIFY_INSERT_TEMPORARY: + case MSIMODIFY_UPDATE: + case MSIMODIFY_REFRESH: + case MSIMODIFY_ASSIGN: + case MSIMODIFY_REPLACE: + case MSIMODIFY_MERGE: + case MSIMODIFY_DELETE: + case MSIMODIFY_VALIDATE: + case MSIMODIFY_VALIDATE_FIELD: + case MSIMODIFY_VALIDATE_DELETE: + FIXME("%p %d %p - mode not implemented\n", view, eModifyMode, rec ); + r = ERROR_CALL_NOT_IMPLEMENTED; + break; + + default: + r = ERROR_INVALID_DATA; + } + + return r; } static UINT STREAMS_delete(struct tagMSIVIEW *view)
participants (1)
-
Alexandre Julliard