Module: wine Branch: refs/heads/master Commit: 7f2419ceed5c90130a8ac2062d6daa5f2e487930 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=7f2419ceed5c90130a8ac206...
Author: Robert Shearman rob@codeweavers.com Date: Mon Dec 26 13:11:33 2005 +0100
widl: Add some const attributes.
---
tools/widl/header.c | 46 +++++++++++++++++++++++----------------------- tools/widl/header.h | 20 ++++++++++---------- tools/widl/parser.y | 6 +++--- tools/widl/proxy.c | 6 +++--- tools/widl/write_msft.c | 2 +- 5 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/tools/widl/header.c b/tools/widl/header.c index f68844b..b60cf8e 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -46,7 +46,7 @@ static void indent(FILE *h, int delta) if (delta > 0) indentation += delta; }
-int is_attr(attr_t *a, enum attr_type t) +int is_attr(const attr_t *a, enum attr_type t) { while (a) { if (a->type == t) return 1; @@ -55,7 +55,7 @@ int is_attr(attr_t *a, enum attr_type t) return 0; }
-void *get_attrp(attr_t *a, enum attr_type t) +void *get_attrp(const attr_t *a, enum attr_type t) { while (a) { if (a->type == t) return a->u.pval; @@ -64,7 +64,7 @@ void *get_attrp(attr_t *a, enum attr_typ return NULL; }
-unsigned long get_attrv(attr_t *a, enum attr_type t) +unsigned long get_attrv(const attr_t *a, enum attr_type t) { while (a) { if (a->type == t) return a->u.ival; @@ -73,7 +73,7 @@ unsigned long get_attrv(attr_t *a, enum return 0; }
-int is_void(type_t *t, var_t *v) +int is_void(const type_t *t, const var_t *v) { if (v && v->ptr_level) return 0; if (!t->type && !t->ref) return 1; @@ -90,7 +90,7 @@ static void write_guid(const char *guid_ uuid->Data4[6], uuid->Data4[7]); }
-static void write_pident(FILE *h, var_t *v) +static void write_pident(FILE *h, const var_t *v) { int c; for (c=0; c<v->ptr_level; c++) { @@ -99,7 +99,7 @@ static void write_pident(FILE *h, var_t if (v->name) fprintf(h, "%s", v->name); }
-void write_name(FILE *h, var_t *v) +void write_name(FILE *h, const var_t *v) { if (is_attr( v->attrs, ATTR_PROPGET )) fprintf(h, "get_" ); @@ -110,12 +110,12 @@ void write_name(FILE *h, var_t *v) fprintf(h, "%s", v->name); }
-char* get_name(var_t *v) +const char* get_name(const var_t *v) { return v->name; }
-static void write_array(FILE *h, expr_t *v, int field) +static void write_array(FILE *h, const expr_t *v, int field) { if (!v) return; while (NEXT_LINK(v)) v = NEXT_LINK(v); @@ -199,7 +199,7 @@ static void write_enums(FILE *h, var_t * fprintf(h, "\n"); }
-void write_type(FILE *h, type_t *t, var_t *v, const char *n) +void write_type(FILE *h, type_t *t, const var_t *v, const char *n) { int c;
@@ -381,10 +381,10 @@ void write_user_types(void) } }
-void write_typedef(type_t *type, var_t *names) +void write_typedef(type_t *type, const var_t *names) { char *tname = names->tname; - var_t *lname; + const var_t *lname; while (NEXT_LINK(names)) names = NEXT_LINK(names); lname = names; fprintf(header, "typedef "); @@ -477,14 +477,14 @@ void write_expr(FILE *h, expr_t *e) do_write_expr(h, e, 0); }
-void write_constdef(var_t *v) +void write_constdef(const var_t *v) { fprintf(header, "#define %s (", get_name(v)); write_expr(header, v->eval); fprintf(header, ")\n\n"); }
-void write_externdef(var_t *v) +void write_externdef(const var_t *v) { fprintf(header, "extern const "); write_type(header, v->type, NULL, v->tname); @@ -545,7 +545,7 @@ var_t *is_callas(attr_t *a) return get_attrp(a, ATTR_CALLAS); }
-static int write_method_macro(type_t *iface, char *name) +static int write_method_macro(const type_t *iface, const char *name) { int idx; func_t *cur = iface->funcs; @@ -636,7 +636,7 @@ void write_args(FILE *h, var_t *arg, con if (do_indent) indentation--; }
-static void write_cpp_method_def(type_t *iface) +static void write_cpp_method_def(const type_t *iface) { func_t *cur = iface->funcs;
@@ -659,7 +659,7 @@ static void write_cpp_method_def(type_t } }
-static void do_write_c_method_def(type_t *iface, char *name) +static void do_write_c_method_def(const type_t *iface, char *name) { func_t *cur = iface->funcs;
@@ -685,17 +685,17 @@ static void do_write_c_method_def(type_t } }
-static void write_c_method_def(type_t *iface) +static void write_c_method_def(const type_t *iface) { do_write_c_method_def(iface, iface->name); }
-static void write_c_disp_method_def(type_t *iface) +static void write_c_disp_method_def(const type_t *iface) { do_write_c_method_def(iface->ref, iface->name); }
-static void write_method_proto(type_t *iface) +static void write_method_proto(const type_t *iface) { func_t *cur = iface->funcs;
@@ -759,7 +759,7 @@ static void write_method_proto(type_t *i } }
-static void write_function_proto(type_t *iface) +static void write_function_proto(const type_t *iface) { char *implicit_handle = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE); int explicit_handle = is_attr(iface->attrs, ATTR_EXPLICIT_HANDLE); @@ -816,13 +816,13 @@ void write_forward(type_t *iface) } }
-static void write_iface_guid(type_t *iface) +static void write_iface_guid(const type_t *iface) { UUID *uuid = get_attrp(iface->attrs, ATTR_UUID); write_guid("IID", iface->name, uuid); }
-static void write_dispiface_guid(type_t *iface) +static void write_dispiface_guid(const type_t *iface) { UUID *uuid = get_attrp(iface->attrs, ATTR_UUID); write_guid("DIID", iface->name, uuid); @@ -895,7 +895,7 @@ static void write_com_interface(type_t * fprintf(header,"\n#endif /* __%s_INTERFACE_DEFINED__ */\n\n", iface->name); }
-static void write_rpc_interface(type_t *iface) +static void write_rpc_interface(const type_t *iface) { unsigned long ver = get_attrv(iface->attrs, ATTR_VERSION); char *var = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE); diff --git a/tools/widl/header.h b/tools/widl/header.h index c649513..8adf929 100644 --- a/tools/widl/header.h +++ b/tools/widl/header.h @@ -21,13 +21,13 @@ #ifndef __WIDL_HEADER_H #define __WIDL_HEADER_H
-extern int is_attr(attr_t *a, enum attr_type t); -extern void *get_attrp(attr_t *a, enum attr_type t); -extern unsigned long get_attrv(attr_t *a, enum attr_type t); -extern int is_void(type_t *t, var_t *v); -extern void write_name(FILE *h, var_t *v); -extern char* get_name(var_t *v); -extern void write_type(FILE *h, type_t *t, var_t *v, const char *n); +extern int is_attr(const attr_t *a, enum attr_type t); +extern void *get_attrp(const attr_t *a, enum attr_type t); +extern unsigned long get_attrv(const attr_t *a, enum attr_type t); +extern int is_void(const type_t *t, const var_t *v); +extern void write_name(FILE *h, const var_t *v); +extern const char* get_name(const var_t *v); +extern void write_type(FILE *h, type_t *t, const var_t *v, const char *n); extern int is_object(attr_t *a); extern int is_local(attr_t *a); extern var_t *is_callas(attr_t *a); @@ -36,10 +36,10 @@ extern void write_forward(type_t *iface) extern void write_interface(type_t *iface); extern void write_dispinterface(type_t *iface); extern void write_coclass(class_t *iface); -extern void write_typedef(type_t *type, var_t *names); +extern void write_typedef(type_t *type, const var_t *names); extern void write_expr(FILE *h, expr_t *e); -extern void write_constdef(var_t *v); -extern void write_externdef(var_t *v); +extern void write_constdef(const var_t *v); +extern void write_externdef(const var_t *v); extern void write_library(const char *name, attr_t *attr); extern void write_user_types(void); extern var_t* get_explicit_handle_var(func_t* func); diff --git a/tools/widl/parser.y b/tools/widl/parser.y index a556108..7c32944 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -84,7 +84,7 @@ static var_t *make_var(char *name); static func_t *make_func(var_t *def, var_t *args); static class_t *make_class(char *name);
-static type_t *reg_type(type_t *type, char *name, int t); +static type_t *reg_type(type_t *type, const char *name, int t); static type_t *reg_types(type_t *type, var_t *names, int t); static type_t *find_type(const char *name, int t); static type_t *find_type2(char *name, int t); @@ -1102,7 +1102,7 @@ static int hash_ident(const char *name) /***** type repository *****/
struct rtype { - char *name; + const char *name; type_t *type; int t; struct rtype *next; @@ -1110,7 +1110,7 @@ struct rtype {
struct rtype *type_hash[HASHMAX];
-static type_t *reg_type(type_t *type, char *name, int t) +static type_t *reg_type(type_t *type, const char *name, int t) { struct rtype *nt; int hash; diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index c91d388..988f1e7 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -206,7 +206,7 @@ static void proxy_check_pointers( var_t static void marshall_size_arg( var_t *arg ) { int index = 0; - type_t *type = get_base_type(arg); + const type_t *type = get_base_type(arg); expr_t *expr;
expr = get_attrp( arg->attrs, ATTR_SIZEIS ); @@ -728,7 +728,7 @@ static void stub_genmarshall( var_t *arg stub_gen_marshall_copydata( args ); }
-static void gen_stub(type_t *iface, func_t *cur, char *cas) +static void gen_stub(type_t *iface, func_t *cur, const char *cas) { var_t *def = cur->def; var_t *arg; @@ -892,7 +892,7 @@ static void write_proxy(type_t *iface) var_t *def = cur->def; if (!is_local(def->attrs)) { var_t *cas = is_callas(def->attrs); - char *cname = cas ? cas->name : NULL; + const char *cname = cas ? cas->name : NULL; int idx = cur->idx; if (cname) { func_t *m = iface->funcs; diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c index 220fc50..bf1806b 100644 --- a/tools/widl/write_msft.c +++ b/tools/widl/write_msft.c @@ -1627,7 +1627,7 @@ static HRESULT add_impl_type(msft_typein }
static msft_typeinfo_t *create_msft_typeinfo(msft_typelib_t *typelib, enum type_kind kind, - char *name, attr_t *attr, int idx) + const char *name, attr_t *attr, int idx) { msft_typeinfo_t *msft_typeinfo; int nameoffset;