30.01.2012 4:42, Timon Gehr пишет:
I suppose the unary + before the second 'num' is required to
disambiguate from which array length 'num' will be deduced? Shouldn't
this restriction be lifted? (Obviously, if the lengths have to match,
both are fine.)

Yes, this restriction isn't necessary. I just was too lazy to add new asserts in such cases. Fill be fixed.

In this example:

// from WinBase.h
__(out) DWORD GetCurrentDirectoryW(
__(in) DWORD nBufferLength,
__(out""[nBufferLength]->""[return]) LPWSTR lpBuffer
)
__( repeat: return > nBufferLength )
__( success: return );
// NOTE: current directory can't have zero length

Maybe the generated bindings should rather look like

char[] winapi_GetCurrentDirectoryW();


Maybe. Looks like "if return value is a length, corresponding array should be returned instead" rule is good. If I will not find anything major against this rule will be added.

Reply via email to