James Hawkins : msi: Add handling for MSIMODIFY_INSERT for the streams table.
Alexandre Julliard
julliard at winehq.org
Thu Oct 18 07:59:35 CDT 2007
Module: wine
Branch: master
Commit: 2694cf3ff8296ce16b572cbf9f2ff7e2783de13d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2694cf3ff8296ce16b572cbf9f2ff7e2783de13d
Author: James Hawkins <truiken at 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)
More information about the wine-cvs
mailing list