On Thursday 13 August 2009 19:59:38 Kamen Mazdrashki wrote:
> Hi guys,
Hi Kamen,
> Attached is a patch of my work in progress in NSPI interface
> implementation.
I have apologise for not handling this before now. The real problem is that
Julien is away, and I'm not very familiar with the code.
We need to find a way to get whatever changes you think are ready to go into
openchange. Some of it looks quite general, but some if it is beyond me.
Would it be possible to have you put patches as individual tickets onto
trac.openchange.org? At least some of the patch doesn't look applicable (e.g.
the changes to script/installsamba4.sh), but I do understand some of it and
would be happy to apply those parts (e.g. the changes to fix warning codes
and the macro definitions).
[Big list of changes snipped here]
> Also, I think MAPI_STATUS_IS_ERR() macro should be reimplemented. It is
> currently based on NTSTATUS code mapping which is not correct as NTSTATUS
> uses the two most significant bits to indicate status. MAPISTATUS on the
> other hand uses only the most significant bit - either ERROR or SUCCESS
> (like HRESULT type).
I'm not so sure. I think the name is perhaps a bit confusing. Lets look at this
in a bit more detail. I assume you are suggesting making this change:
--- libmapi/conf/mparse.pl (revision 1466)
+++ libmapi/conf/mparse.pl (working copy)
@@ -555,7 +555,7 @@
mparse "#define MAPI_STATUS_V(x) ((SCODE)x)";
mparse "";
mparse "#define MAPI_STATUS_IS_OK(x) (MAPI_STATUS_V(x) == 0)";
- mparse "#define MAPI_STATUS_IS_ERR(x) ((MAPI_STATUS_V(x) & 0xc0000000)
== 0xc0000000)";
+ mparse "#define MAPI_STATUS_IS_ERR(x) ((MAPI_STATUS_V(x) & 0x80000000)
== 0x80000000)";
mparse "#define MAPI_STATUS_EQUAL(x,y) (MAPI_STATUS_V(x) ==
MAPI_STATUS_V(y))";
mparse "";
mparse "#define MAPI_STATUS_IS_OK_RETURN(x) do { \\";
I can't see anywhere MAPI_STATUS_IS_ERR() is used, but working off the
similar MAPI_STATUS_IS_OK(), we can see it is only used on NT_STATUS_V()
(i.e. the value of the NTSTATUS). So perhaps this is only intended to work
on NTSTATUS, not on MAPISTATUS?
I'm not really sure, but perhaps this is intentional?
> In resume: currently Outlook works quite well with this set of Nspi calls
> impelemente. One can use "check names" feature and Address Book feature.
While I don't claim to understand the code, I'd like to offer most sincere
congratulations on getting this working. Very nice indeed.
Brad
_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel