diff --git a/src/core/core-hdata.h b/src/core/core-hdata.h index 078c06f47..e25514807 100644 --- a/src/core/core-hdata.h +++ b/src/core/core-hdata.h @@ -22,11 +22,19 @@ #include -#define HDATA_VAR(__struct, __name, __type, __update_allowed, \ +/* create a hdata variable (name is the same as the struct field */ +#define HDATA_VAR(__struct, __field, __type, __update_allowed, \ __array_size, __hdata_name) \ - hdata_new_var (hdata, #__name, offsetof (__struct, __name), \ + hdata_new_var (hdata, #__field, offsetof (__struct, __field), \ WEECHAT_HDATA_##__type, __update_allowed, \ __array_size, __hdata_name) +/* create a hdata variable with a custom name */ +#define HDATA_VAR_NAME(__struct, __field, __name, __type, \ + __update_allowed, __array_size, __hdata_name) \ + hdata_new_var (hdata, __name, offsetof (__struct, __field), \ + WEECHAT_HDATA_##__type, __update_allowed, \ + __array_size, __hdata_name) +/* create a hdata list */ #define HDATA_LIST(__name, __flags) \ hdata_new_list (hdata, #__name, &(__name), __flags); diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h index fde3a1db4..174eeb641 100644 --- a/src/plugins/weechat-plugin.h +++ b/src/plugins/weechat-plugin.h @@ -2263,9 +2263,17 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin); (weechat_plugin->hdata_new_var)(__hdata, __name, __offset, __type, \ __update_allowed, __array_size, \ __hdata_name) -#define WEECHAT_HDATA_VAR(__struct, __name, __type, __update_allowed, \ +#define WEECHAT_HDATA_VAR(__struct, __field, __type, __update_allowed, \ __array_size, __hdata_name) \ - weechat_hdata_new_var (hdata, #__name, offsetof (__struct, __name), \ + weechat_hdata_new_var (hdata, #__field, \ + offsetof (__struct, __field), \ + WEECHAT_HDATA_##__type, __update_allowed, \ + __array_size, __hdata_name) +#define WEECHAT_HDATA_VAR_NAME(__struct, __field, __name, __type, \ + __update_allowed, __array_size, \ + __hdata_name) \ + weechat_hdata_new_var (hdata, __name, \ + offsetof (__struct, __field), \ WEECHAT_HDATA_##__type, __update_allowed, \ __array_size, __hdata_name) #define weechat_hdata_new_list(__hdata, __name, __pointer, __flags) \