Make sure widl doesn't depend on the headers it has to generate.

This commit is contained in:
Alexandre Julliard 2002-11-13 21:31:01 +00:00
parent 1ccd27ae04
commit 98f12a0db1
4 changed files with 13 additions and 6 deletions

View file

@ -264,7 +264,7 @@ void write_typedef(type_t *type, var_t *names)
/********** INTERFACES **********/
UUID *get_uuid(attr_t *a)
uuid_t *get_uuid(attr_t *a)
{
while (a) {
if (a->type == ATTR_UUID) return a->u.pval;
@ -470,7 +470,7 @@ void write_forward(type_t *iface)
void write_guid(type_t *iface)
{
UUID *uuid = get_uuid(iface->attrs);
uuid_t *uuid = get_uuid(iface->attrs);
if (!uuid) return;
fprintf(header, "DEFINE_GUID(IID_%s, 0x%08lx, 0x%04x, 0x%04x, 0x%02x,0x%02x, 0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x);\n",
iface->name, uuid->Data1, uuid->Data2, uuid->Data3, uuid->Data4[0], uuid->Data4[1],

View file

@ -75,9 +75,9 @@ int import_stack_ptr = 0;
static void pop_import(void);
static UUID* parse_uuid(const char*u)
static uuid_t* parse_uuid(const char*u)
{
UUID* uuid = xmalloc(sizeof(UUID));
uuid_t* uuid = xmalloc(sizeof(uuid_t));
char b[3];
/* it would be nice to use UuidFromStringA */
uuid->Data1 = strtol(u, NULL, 16);

View file

@ -100,7 +100,7 @@ static type_t std_int = { "int" };
var_t *var;
func_t *func;
char *str;
UUID *uuid;
uuid_t *uuid;
int num;
}

View file

@ -22,7 +22,6 @@
#define __WIDL_WIDLTYPES_H
#include "windef.h"
#include "oleauto.h"
#include "wine/rpcfc.h"
typedef struct _attr_t attr_t;
@ -31,6 +30,7 @@ typedef struct _type_t type_t;
typedef struct _typeref_t typeref_t;
typedef struct _var_t var_t;
typedef struct _func_t func_t;
typedef struct _uuid_t uuid_t;
#define DECL_LINK(type) \
type *l_next; \
@ -147,4 +147,11 @@ struct _func_t {
DECL_LINK(func_t)
};
struct _uuid_t {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
};
#endif