aboutsummaryrefslogtreecommitdiff
path: root/jim-win32com.c
diff options
context:
space:
mode:
authorpatthoyts <patthoyts>2005-03-04 10:06:05 +0000
committerpatthoyts <patthoyts>2005-03-04 10:06:05 +0000
commit83c1c0116fc03c0b90ebd6aaa580cb579cf84a51 (patch)
tree90056d094bd734d1111617136db99a26b1e4f093 /jim-win32com.c
parente7cacb95e1424fea1080b3464e0029355c5e38f0 (diff)
downloadjimtcl-83c1c0116fc03c0b90ebd6aaa580cb579cf84a51.zip
jimtcl-83c1c0116fc03c0b90ebd6aaa580cb579cf84a51.tar.gz
jimtcl-83c1c0116fc03c0b90ebd6aaa580cb579cf84a51.tar.bz2
Use command line vars in the Makefile.
Make const quiet with gcc -Wwrite-strings Fixed macro usage in COM extension that gcc doesn't like.
Diffstat (limited to 'jim-win32com.c')
-rw-r--r--jim-win32com.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/jim-win32com.c b/jim-win32com.c
index 822aa4f..6b97aaa 100644
--- a/jim-win32com.c
+++ b/jim-win32com.c
@@ -160,7 +160,7 @@ UnicodeDupInternalRep(Jim_Interp *interp, Jim_Obj *srcPtr, Jim_Obj *dupPtr)
{
int len = srcPtr->internalRep.binaryValue.len;
JIM_TRACE("UnicodeDupInternalRep 0x%08x duped into 0x%08x\n", (DWORD)srcPtr, (DWORD)dupPtr);
- interp;
+ interp = interp;
dupPtr->internalRep.binaryValue.len = len;
if (srcPtr->internalRep.binaryValue.data != NULL) {
dupPtr->internalRep.binaryValue.data = Jim_Alloc(sizeof(WCHAR) * (len + 1));
@@ -191,11 +191,11 @@ UnicodeSetFromAny(Jim_Interp *interp, Jim_Obj *objPtr)
}
Jim_Obj *
-Jim_NewUnicodeObj(Jim_Interp *interp, LPCWSTR wsz, size_t len)
+Jim_NewUnicodeObj(Jim_Interp *interp, LPCWSTR wsz, int len)
{
Jim_Obj *objPtr;
JIM_ASSERT(wsz != NULL);
- if (wsz != NULL && len == -1)
+ if (wsz != NULL && len < 0)
len = wcslen(wsz);
if (wsz == NULL || len == 0) {
objPtr = Jim_NewStringObj(interp, "", 0);
@@ -224,7 +224,7 @@ Jim_GetUnicode(Jim_Obj *objPtr, int *lenPtr)
objPtr->typePtr->name);
}
}
-
+ *lenPtr = objPtr->internalRep.binaryValue.len;
return (LPWSTR)objPtr->internalRep.binaryValue.data;
}
@@ -247,7 +247,6 @@ Jim_ObjType ole32ObjType = {
void
Ole32FreeInternalRep(Jim_Interp *interp, Jim_Obj *objPtr)
{
- int r = JIM_OK;
IDispatch *p = Ole32_DispatchPtr(objPtr);
ITypeInfo *t = Ole32_TypeInfoPtr(objPtr);
JIM_TRACE("free ole32 object 0x%08x\n", (unsigned long)p);
@@ -441,7 +440,7 @@ Jim_NewOle32Obj(Jim_Interp *interp, LPDISPATCH pdispatch)
Jim_Obj *objPtr = Jim_NewObj(interp);
objPtr->bytes = Jim_Alloc(23);
- sprintf(objPtr->bytes, "ole32:%08x", (unsigned long)pdispatch);
+ sprintf(objPtr->bytes, "ole32:%08lx", (unsigned long)pdispatch);
objPtr->length = strlen(objPtr->bytes);
Ole32_DispatchPtr(objPtr) = pdispatch;
Ole32_TypeInfoPtr(objPtr) = NULL;
@@ -449,7 +448,9 @@ Jim_NewOle32Obj(Jim_Interp *interp, LPDISPATCH pdispatch)
pdispatch->lpVtbl->GetTypeInfoCount(pdispatch, &n);
if (n != 0)
- pdispatch->lpVtbl->GetTypeInfo(pdispatch, 0, LOCALE_SYSTEM_DEFAULT, &Ole32_TypeInfoPtr(objPtr));
+ pdispatch->lpVtbl->GetTypeInfo(pdispatch, 0, LOCALE_SYSTEM_DEFAULT,
+ (LPTYPEINFO*)&objPtr->internalRep.twoPtrValue.ptr2);
+/* &(Ole32_TypeInfoPtr(objPtr)));*/
objPtr->typePtr = &ole32ObjType;