degesch: typos, cleanups
This commit is contained in:
parent
9bb9c9868c
commit
d4cbc576e2
3
common.c
3
common.c
|
@ -41,6 +41,9 @@
|
||||||
return 0; \
|
return 0; \
|
||||||
BLOCK_END
|
BLOCK_END
|
||||||
|
|
||||||
|
#define CONTAINER_OF(pointer, type, member) \
|
||||||
|
(type *) ((char *) pointer - offsetof (type, member))
|
||||||
|
|
||||||
// --- To be moved to liberty --------------------------------------------------
|
// --- To be moved to liberty --------------------------------------------------
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
66
degesch.c
66
degesch.c
|
@ -758,6 +758,25 @@ struct weak_ref_link
|
||||||
void *user_data; ///< User data
|
void *user_data; ///< User data
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct weak_ref_link *
|
||||||
|
weak_ref (struct weak_ref_link **list, destroy_cb_fn cb, void *user_data)
|
||||||
|
{
|
||||||
|
struct weak_ref_link *link = xcalloc (1, sizeof *link);
|
||||||
|
link->on_destroy = cb;
|
||||||
|
link->user_data = user_data;
|
||||||
|
LIST_PREPEND (*list, link);
|
||||||
|
return link;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
weak_unref (struct weak_ref_link **list, struct weak_ref_link **link)
|
||||||
|
{
|
||||||
|
if (*link)
|
||||||
|
LIST_UNLINK (*list, *link);
|
||||||
|
free (*link);
|
||||||
|
*link = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#define REF_COUNTABLE_HEADER \
|
#define REF_COUNTABLE_HEADER \
|
||||||
size_t ref_count; /**< Reference count */ \
|
size_t ref_count; /**< Reference count */ \
|
||||||
struct weak_ref_link *weak_refs; /**< To remove any weak references */
|
struct weak_ref_link *weak_refs; /**< To remove any weak references */
|
||||||
|
@ -785,22 +804,11 @@ struct weak_ref_link
|
||||||
\
|
\
|
||||||
static struct weak_ref_link * \
|
static struct weak_ref_link * \
|
||||||
name ## _weak_ref (struct name *self, destroy_cb_fn cb, void *user_data) \
|
name ## _weak_ref (struct name *self, destroy_cb_fn cb, void *user_data) \
|
||||||
{ \
|
{ return weak_ref (&self->weak_refs, cb, user_data); } \
|
||||||
struct weak_ref_link *link = xcalloc (1, sizeof *link); \
|
|
||||||
link->on_destroy = cb; \
|
|
||||||
link->user_data = user_data; \
|
|
||||||
LIST_PREPEND (self->weak_refs, link); \
|
|
||||||
return link; \
|
|
||||||
} \
|
|
||||||
\
|
\
|
||||||
static void \
|
static void \
|
||||||
name ## _weak_unref (struct name *self, struct weak_ref_link **link) \
|
name ## _weak_unref (struct name *self, struct weak_ref_link **link) \
|
||||||
{ \
|
{ weak_unref (&self->weak_refs, link); }
|
||||||
if (*link) \
|
|
||||||
LIST_UNLINK (self->weak_refs, *link); \
|
|
||||||
free (*link); \
|
|
||||||
*link = NULL; \
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
@ -7266,8 +7274,8 @@ input_hook_insert (struct app_context *ctx, struct input_hook *hook)
|
||||||
static bool
|
static bool
|
||||||
irc_hook_less (const void *a, const void *b)
|
irc_hook_less (const void *a, const void *b)
|
||||||
{
|
{
|
||||||
return ((const struct input_hook *) a)->priority
|
return ((const struct irc_hook *) a)->priority
|
||||||
< ((const struct input_hook *) b)->priority;
|
< ((const struct irc_hook *) b)->priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -7394,7 +7402,7 @@ lua_buffer_invalidate (void *object, void *user_data)
|
||||||
static void
|
static void
|
||||||
lua_plugin_push_buffer (struct lua_plugin *plugin, struct buffer *buffer)
|
lua_plugin_push_buffer (struct lua_plugin *plugin, struct buffer *buffer)
|
||||||
{
|
{
|
||||||
struct lua_State *L = plugin->L;
|
lua_State *L = plugin->L;
|
||||||
if (lua_cache_get (L, buffer))
|
if (lua_cache_get (L, buffer))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -7463,7 +7471,7 @@ lua_server_invalidate (void *object, void *user_data)
|
||||||
static void
|
static void
|
||||||
lua_plugin_push_server (struct lua_plugin *plugin, struct server *server)
|
lua_plugin_push_server (struct lua_plugin *plugin, struct server *server)
|
||||||
{
|
{
|
||||||
struct lua_State *L = plugin->L;
|
lua_State *L = plugin->L;
|
||||||
if (lua_cache_get (L, server))
|
if (lua_cache_get (L, server))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -7518,9 +7526,8 @@ lua_hook_unhook (lua_State *L)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The hook no longer has to stay alive
|
// The hook no longer has to stay alive
|
||||||
lua_pushnil (L);
|
|
||||||
lua_rawsetp (L, LUA_REGISTRYINDEX, hook);
|
|
||||||
hook->type = XLUA_HOOK_DEFUNCT;
|
hook->type = XLUA_HOOK_DEFUNCT;
|
||||||
|
lua_cache_invalidate (L, hook);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7598,8 +7605,8 @@ static char *
|
||||||
lua_input_hook_filter (struct input_hook *self, struct buffer *buffer,
|
lua_input_hook_filter (struct input_hook *self, struct buffer *buffer,
|
||||||
char *input)
|
char *input)
|
||||||
{
|
{
|
||||||
struct lua_hook *hook = (struct lua_hook *)
|
struct lua_hook *hook =
|
||||||
((char *) self - offsetof (struct lua_hook, data.input_hook));
|
CONTAINER_OF (self, struct lua_hook, data.input_hook);
|
||||||
struct lua_plugin *plugin = hook->plugin;
|
struct lua_plugin *plugin = hook->plugin;
|
||||||
lua_State *L = plugin->L;
|
lua_State *L = plugin->L;
|
||||||
|
|
||||||
|
@ -7607,7 +7614,7 @@ lua_input_hook_filter (struct input_hook *self, struct buffer *buffer,
|
||||||
|
|
||||||
lua_rawgetp (L, LUA_REGISTRYINDEX, hook); // 1: hook
|
lua_rawgetp (L, LUA_REGISTRYINDEX, hook); // 1: hook
|
||||||
lua_getuservalue (L, -1); // Retrieve function
|
lua_getuservalue (L, -1); // Retrieve function
|
||||||
lua_insert (L, -2); // Swap with thet hook
|
lua_insert (L, -2); // Swap with the hook
|
||||||
|
|
||||||
lua_plugin_push_buffer (plugin, buffer); // 2: buffer
|
lua_plugin_push_buffer (plugin, buffer); // 2: buffer
|
||||||
lua_pushstring (L, input); // 3: input
|
lua_pushstring (L, input); // 3: input
|
||||||
|
@ -7636,8 +7643,8 @@ struct input_hook_vtable lua_input_hook_vtable =
|
||||||
static char *
|
static char *
|
||||||
lua_irc_hook_filter (struct irc_hook *self, struct server *s, char *message)
|
lua_irc_hook_filter (struct irc_hook *self, struct server *s, char *message)
|
||||||
{
|
{
|
||||||
struct lua_hook *hook = (struct lua_hook *)
|
struct lua_hook *hook =
|
||||||
((char *) self - offsetof (struct lua_hook, data.irc_hook));
|
CONTAINER_OF (self, struct lua_hook, data.irc_hook);
|
||||||
struct lua_plugin *plugin = hook->plugin;
|
struct lua_plugin *plugin = hook->plugin;
|
||||||
lua_State *L = plugin->L;
|
lua_State *L = plugin->L;
|
||||||
|
|
||||||
|
@ -7645,7 +7652,7 @@ lua_irc_hook_filter (struct irc_hook *self, struct server *s, char *message)
|
||||||
|
|
||||||
lua_rawgetp (L, LUA_REGISTRYINDEX, hook); // 1: hook
|
lua_rawgetp (L, LUA_REGISTRYINDEX, hook); // 1: hook
|
||||||
lua_getuservalue (L, -1); // Retrieve function
|
lua_getuservalue (L, -1); // Retrieve function
|
||||||
lua_insert (L, -2); // Swap with thet hook
|
lua_insert (L, -2); // Swap with the hook
|
||||||
|
|
||||||
lua_plugin_push_server (plugin, s); // 2: server
|
lua_plugin_push_server (plugin, s); // 2: server
|
||||||
lua_pushstring (L, message); // 3: message
|
lua_pushstring (L, message); // 3: message
|
||||||
|
@ -7675,7 +7682,7 @@ static struct lua_hook *
|
||||||
lua_plugin_push_hook
|
lua_plugin_push_hook
|
||||||
(struct lua_plugin *plugin, int callback_index, enum lua_hook_type type)
|
(struct lua_plugin *plugin, int callback_index, enum lua_hook_type type)
|
||||||
{
|
{
|
||||||
struct lua_State *L = plugin->L;
|
lua_State *L = plugin->L;
|
||||||
struct lua_hook *hook = lua_newuserdata (L, sizeof *hook);
|
struct lua_hook *hook = lua_newuserdata (L, sizeof *hook);
|
||||||
luaL_setmetatable (L, XLUA_HOOK_METATABLE);
|
luaL_setmetatable (L, XLUA_HOOK_METATABLE);
|
||||||
memset (hook, 0, sizeof *hook);
|
memset (hook, 0, sizeof *hook);
|
||||||
|
@ -7687,8 +7694,7 @@ lua_plugin_push_hook
|
||||||
lua_setuservalue (L, -2);
|
lua_setuservalue (L, -2);
|
||||||
|
|
||||||
// Make sure the hook doesn't get garbage collected and return it
|
// Make sure the hook doesn't get garbage collected and return it
|
||||||
lua_pushvalue (L, -1);
|
lua_cache_store (L, hook, -1);
|
||||||
lua_rawsetp (L, LUA_REGISTRYINDEX, hook);
|
|
||||||
return hook;
|
return hook;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8750,7 +8756,7 @@ mass_channel_mode_mask_list
|
||||||
str_vector_init (&v);
|
str_vector_init (&v);
|
||||||
cstr_split_ignore_empty (a->arguments, ' ', &v);
|
cstr_split_ignore_empty (a->arguments, ' ', &v);
|
||||||
|
|
||||||
// XXX: this may be a bit too trivial; we could map also nicknames
|
// XXX: this may be a bit too trivial; we could also map nicknames
|
||||||
// to information from WHO polling or userhost-in-names
|
// to information from WHO polling or userhost-in-names
|
||||||
for (size_t i = 0; i < v.len; i++)
|
for (size_t i = 0; i < v.len; i++)
|
||||||
{
|
{
|
||||||
|
@ -8987,7 +8993,7 @@ handle_command_whois (struct handler_args *a)
|
||||||
irc_send (a->s, "WHOIS %s", a->s->irc_user->nickname);
|
irc_send (a->s, "WHOIS %s", a->s->irc_user->nickname);
|
||||||
else
|
else
|
||||||
log_server_error (a->s, a->buffer, "#s: #s", "Can't request info",
|
log_server_error (a->s, a->buffer, "#s: #s", "Can't request info",
|
||||||
"no target given and this buffer is not a PM nor a server");
|
"no target given and this buffer is neither a PM nor a server");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue