oleview: Added skeleton for IDL files generation (1/2)

Jacek Caban jacek at codeweavers.com
Mon Jul 17 11:01:55 CDT 2006


Hi Piotr,

Piotr Caban wrote:
> Hi,
>
> Changelog:
>  - Added skeleton for IDL files generation
>
>  programs/oleview/main.h    |    8 ++++
>  programs/oleview/pane.c    |    9 ++++
>  programs/oleview/typelib.c |   96
> +++++++++++++++++++++++++++++++++++++++++++-
>  3 files changed, 111 insertions(+), 2 deletions(-)
>
> --
> Piotr
>
>   
> diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c
> index 9eab7c4..8a46c1e 100644
> --- a/programs/oleview/typelib.c
> +++ b/programs/oleview/typelib.c
> @@ -30,6 +30,15 @@ static const WCHAR wszTypeLib[] = { 'T',
>  static const WCHAR wszFailed[] = { '<','f','a','i','l','e','d','>','\0' };
>  static const WCHAR wszSpace[] = { ' ','\0' };
>  static const WCHAR wszAsterix[] = { '*','\0' };
> +static const WCHAR wszComa[] = { ',','\0' };
> +static const WCHAR wszSemicolon[] = { ';','\0' };
> +static const WCHAR wszNewLine[] = { '\n','\0' };
> +static const WCHAR wszOpenBrackets1[] = { '[','\0' };
> +static const WCHAR wszCloseBrackets1[] = { ']','\0' };
> +static const WCHAR wszOpenBrackets2[] = { '(','\0' };
> +static const WCHAR wszCloseBrackets2[] = { ')','\0' };
> +
> +static const WCHAR wszUUID[] = { 'u','u','i','d','\0' };
>  
>  static const WCHAR wszVT_BOOL[]
>      = { 'V','A','R','I','A','N','T','_','B','O','O','L','\0' };
> @@ -61,6 +70,30 @@ void AddToStrW(WCHAR *wszDest, const WCH
>      lstrcpyW(&wszDest[lstrlenW(wszDest)], wszSource);
>  }
>  
> +void AddToTLDataStrW(TYPELIB_DATA *pTLData, const WCHAR *wszSource)
> +{
> +    WCHAR *newIdl;
> +    int SourceLen = lstrlenW(wszSource);
> +
> +    newIdl = HeapAlloc(GetProcessHeap(), 0,
> +            sizeof(WCHAR)*(pTLData->idlLen+SourceLen+1));
> +    memcpy(newIdl, pTLData->idl, sizeof(WCHAR)*pTLData->idlLen);
> +    memcpy(&newIdl[pTLData->idlLen], wszSource, sizeof(WCHAR)*(SourceLen+1));
> +    pTLData->idlLen += SourceLen;
> +    HeapFree(GetProcessHeap(), 0, pTLData->idl);
>   
It would be better to use HeapReAlloc here.

Jacek




More information about the wine-devel mailing list