1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#include "../error/error.h"
#include "../irc/irc.h"
#include "../parameters/parameters.h"
#include "meta_net.h"
void JH_meta_net_handle_reply
(
struct JH_meta_net socket [const restrict static 1],
struct JH_irc irc [const restrict static 1],
const struct JH_parameters params [const restrict static 1]
)
{
if (socket->in.index == 0)
{
/* No reply to handle. */
return;
}
socket->in.data[socket->in.index] = '\0';
if (JH_IS_PREFIX("!CPV ", socket->in.data))
{
}
else if (JH_IS_PREFIX("!CPS ", socket->in.data))
{
}
else if (JH_IS_PREFIX("!GR ", socket->in.data))
{
/* TODO: /me vs message should be handled prior to this. */
JH_irc_send_message(irc, (socket->in.data + 4));
JH_DEBUG
(
stderr,
/* TODO: Parameter dependent behavior. */
JH_DEBUG_DISPLAY_IRC_MSG_EXCHANGES,
"<%s> %s",
JH_parameters_get_irc_nick(params),
(socket->in.data + 4)
);
}
else if (JH_IS_PREFIX("!AI ", socket->in.data))
{
/* TODO: Parameter dependent behavior. */
JH_DEBUG
(
stderr,
1,
"Received: %s.",
socket->in.data
);
}
else if (JH_IS_PREFIX("!P ", socket->in.data))
{
socket->has_request_in_progress = 0;
}
else if (JH_IS_PREFIX("!N ", socket->in.data))
{
JH_S_WARNING(stderr, "Received Negative reply.");
socket->has_request_in_progress = 0;
}
else
{
JH_WARNING
(
stderr,
"Unsupported reply received: %s.",
socket->in.data
);
}
}
|