degesch: more shuffling
This commit is contained in:
parent
699636d9a2
commit
19b2eda70e
80
degesch.c
80
degesch.c
@ -2459,36 +2459,6 @@ static bool irc_connect (struct server *s, bool *should_retry, struct error **);
|
|||||||
static void irc_cancel_timers (struct server *s);
|
static void irc_cancel_timers (struct server *s);
|
||||||
static void on_irc_reconnect_timeout (void *user_data);
|
static void on_irc_reconnect_timeout (void *user_data);
|
||||||
|
|
||||||
static char *
|
|
||||||
irc_cut_nickname (const char *prefix)
|
|
||||||
{
|
|
||||||
return xstrndup (prefix, strcspn (prefix, "!@"));
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char *
|
|
||||||
irc_find_userhost (const char *prefix)
|
|
||||||
{
|
|
||||||
const char *p = strchr (prefix, '!');
|
|
||||||
return p ? p + 1 : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
irc_is_this_us (struct server *s, const char *prefix)
|
|
||||||
{
|
|
||||||
char *nick = irc_cut_nickname (prefix);
|
|
||||||
bool result = !irc_strcmp (nick, s->irc_user->nickname);
|
|
||||||
free (nick);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
irc_is_channel (struct server *s, const char *ident)
|
|
||||||
{
|
|
||||||
(void) s; // TODO: parse prefixes from server features
|
|
||||||
|
|
||||||
return *ident && !!strchr ("#&+!", *ident);
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
irc_is_connected (struct server *s)
|
irc_is_connected (struct server *s)
|
||||||
{
|
{
|
||||||
@ -2866,10 +2836,39 @@ refresh_prompt (struct app_context *ctx)
|
|||||||
str_free (&prompt);
|
str_free (&prompt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Input handling ----------------------------------------------------------
|
// --- Helpers -----------------------------------------------------------------
|
||||||
|
|
||||||
// TODO: we will need a proper mode parser; to be shared with kike
|
static char *
|
||||||
// TODO: we alse definitely need to parse server capability messages
|
irc_cut_nickname (const char *prefix)
|
||||||
|
{
|
||||||
|
return xstrndup (prefix, strcspn (prefix, "!@"));
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
irc_find_userhost (const char *prefix)
|
||||||
|
{
|
||||||
|
const char *p = strchr (prefix, '!');
|
||||||
|
return p ? p + 1 : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
irc_is_this_us (struct server *s, const char *prefix)
|
||||||
|
{
|
||||||
|
char *nick = irc_cut_nickname (prefix);
|
||||||
|
bool result = !irc_strcmp (nick, s->irc_user->nickname);
|
||||||
|
free (nick);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
irc_is_channel (struct server *s, const char *ident)
|
||||||
|
{
|
||||||
|
(void) s; // TODO: parse prefixes from server features
|
||||||
|
|
||||||
|
return *ident && !!strchr ("#&+!", *ident);
|
||||||
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
static struct buffer *
|
static struct buffer *
|
||||||
irc_get_buffer_for_message (struct server *s,
|
irc_get_buffer_for_message (struct server *s,
|
||||||
@ -2933,7 +2932,10 @@ irc_is_highlight (struct server *s, const char *message)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// --- Input handling ----------------------------------------------------------
|
||||||
|
|
||||||
|
// TODO: we will need a proper mode parser; to be shared with kike
|
||||||
|
// TODO: we alse definitely need to parse server capability messages
|
||||||
|
|
||||||
static void
|
static void
|
||||||
irc_handle_join (struct server *s, const struct irc_message *msg)
|
irc_handle_join (struct server *s, const struct irc_message *msg)
|
||||||
@ -3422,6 +3424,8 @@ irc_handle_topic (struct server *s, const struct irc_message *msg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
static struct irc_handler
|
static struct irc_handler
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
@ -3923,8 +3927,6 @@ dump_matching_options
|
|||||||
|
|
||||||
// --- User input handling -----------------------------------------------------
|
// --- User input handling -----------------------------------------------------
|
||||||
|
|
||||||
static bool handle_command_help (struct app_context *, char *);
|
|
||||||
|
|
||||||
/// Cuts the longest non-whitespace portion of text and advances the pointer
|
/// Cuts the longest non-whitespace portion of text and advances the pointer
|
||||||
static char *
|
static char *
|
||||||
cut_word (char **s)
|
cut_word (char **s)
|
||||||
@ -4468,6 +4470,10 @@ handle_command_quote (struct app_context *ctx, char *arguments)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
static bool handle_command_help (struct app_context *, char *);
|
||||||
|
|
||||||
static struct command_handler
|
static struct command_handler
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
@ -4663,6 +4669,8 @@ process_user_command (struct app_context *ctx, char *command)
|
|||||||
"%s: /%s %s", "Usage", handler->name, handler->usage);
|
"%s: /%s %s", "Usage", handler->name, handler->usage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
static void
|
static void
|
||||||
send_message_to_target (struct server *s,
|
send_message_to_target (struct server *s,
|
||||||
const char *target, char *message, struct buffer *buffer)
|
const char *target, char *message, struct buffer *buffer)
|
||||||
|
Loading…
Reference in New Issue
Block a user