api: fix read of arrays in hdata functions hdata_<type> (bug #40354)
This commit is contained in:
parent
0d35a80a9f
commit
f5a65c9b2b
@ -21,6 +21,7 @@ Version 0.4.3 (under dev!)
|
||||
* core: fix truncated prefix when filters are toggled (bug #40204)
|
||||
* core: add options to customize default text search in buffers:
|
||||
weechat.look.buffer_search_{case_sensitive|force_default|regex|where}
|
||||
* api: fix read of arrays in hdata functions hdata_<type> (bug #40354)
|
||||
* irc: fix auto-switch to channel buffer when doing /join channel (without "#")
|
||||
* irc: add option irc.look.notice_welcome_tags
|
||||
* irc: add server option "default_msg_kick" to customize default kick/kickban
|
||||
|
@ -601,10 +601,7 @@ hdata_char (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return (*((char **)(pointer + var->offset)))[index];
|
||||
}
|
||||
return (*((char **)(pointer + var->offset)))[index];
|
||||
else
|
||||
return *((char *)(pointer + var->offset));
|
||||
}
|
||||
@ -631,10 +628,7 @@ hdata_integer (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return ((int *)(pointer + var->offset))[index];
|
||||
}
|
||||
return ((int *)(pointer + var->offset))[index];
|
||||
else
|
||||
return *((int *)(pointer + var->offset));
|
||||
}
|
||||
@ -661,10 +655,7 @@ hdata_long (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return ((long *)(pointer + var->offset))[index];
|
||||
}
|
||||
return ((long *)(pointer + var->offset))[index];
|
||||
else
|
||||
return *((long *)(pointer + var->offset));
|
||||
}
|
||||
@ -691,10 +682,7 @@ hdata_string (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return (*((char ***)(pointer + var->offset)))[index];
|
||||
}
|
||||
return (*((char ***)(pointer + var->offset)))[index];
|
||||
else
|
||||
return *((char **)(pointer + var->offset));
|
||||
}
|
||||
@ -721,10 +709,7 @@ hdata_pointer (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return (*((void ***)(pointer + var->offset)))[index];
|
||||
}
|
||||
return (*((void ***)(pointer + var->offset)))[index];
|
||||
else
|
||||
return *((void **)(pointer + var->offset));
|
||||
}
|
||||
@ -751,10 +736,7 @@ hdata_time (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return ((time_t *)(pointer + var->offset))[index];
|
||||
}
|
||||
return ((time_t *)(pointer + var->offset))[index];
|
||||
else
|
||||
return *((time_t *)(pointer + var->offset));
|
||||
}
|
||||
@ -781,10 +763,7 @@ hdata_hashtable (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
{
|
||||
if (*((void **)(pointer + var->offset)))
|
||||
return (*((struct t_hashtable ***)(pointer + var->offset)))[index];
|
||||
}
|
||||
return (*((struct t_hashtable ***)(pointer + var->offset)))[index];
|
||||
else
|
||||
return *((struct t_hashtable **)(pointer + var->offset));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user