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 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
|
||||
irc_is_connected (struct server *s)
|
||||
{
|
||||
@ -2866,10 +2836,39 @@ refresh_prompt (struct app_context *ctx)
|
||||
str_free (&prompt);
|
||||
}
|
||||
|
||||
// --- Input handling ----------------------------------------------------------
|
||||
// --- Helpers -----------------------------------------------------------------
|
||||
|
||||
// TODO: we will need a proper mode parser; to be shared with kike
|
||||
// TODO: we alse definitely need to parse server capability messages
|
||||
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 struct buffer *
|
||||
irc_get_buffer_for_message (struct server *s,
|
||||
@ -2933,7 +2932,10 @@ irc_is_highlight (struct server *s, const char *message)
|
||||
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
|
||||
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
|
||||
{
|
||||
char *name;
|
||||
@ -3923,8 +3927,6 @@ dump_matching_options
|
||||
|
||||
// --- User input handling -----------------------------------------------------
|
||||
|
||||
static bool handle_command_help (struct app_context *, char *);
|
||||
|
||||
/// Cuts the longest non-whitespace portion of text and advances the pointer
|
||||
static char *
|
||||
cut_word (char **s)
|
||||
@ -4468,6 +4470,10 @@ handle_command_quote (struct app_context *ctx, char *arguments)
|
||||
return true;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
static bool handle_command_help (struct app_context *, char *);
|
||||
|
||||
static struct command_handler
|
||||
{
|
||||
const char *name;
|
||||
@ -4663,6 +4669,8 @@ process_user_command (struct app_context *ctx, char *command)
|
||||
"%s: /%s %s", "Usage", handler->name, handler->usage);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
static void
|
||||
send_message_to_target (struct server *s,
|
||||
const char *target, char *message, struct buffer *buffer)
|
||||
|
Loading…
Reference in New Issue
Block a user