aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeber <beber>2005-08-22 18:31:08 +0000
committerbeber <beber>2005-08-22 18:31:08 +0000
commite92c88491b6638f6a21c872a1be489f33e2f0a56 (patch)
treef3dc542021a90bca8cd9ac1ee862ba109576b73c /src
parentCoorect Oops (diff)
downloadespik-e92c88491b6638f6a21c872a1be489f33e2f0a56.tar.xz
Some jobs on irc commands
Diffstat (limited to 'src')
-rw-r--r--src/espik_irc.c131
1 files changed, 70 insertions, 61 deletions
diff --git a/src/espik_irc.c b/src/espik_irc.c
index 82607ef..84208f0 100644
--- a/src/espik_irc.c
+++ b/src/espik_irc.c
@@ -12,45 +12,44 @@
#include "espik.h"
#include "espik_net.h"
-char *current_chan;
+char* current_chan;
typedef struct
{
- char *cmd_name;
- char *(*format) (char *dest, char *msg);
+ char* cmd_name;
+ char* (*format) (char *dest, char *msg);
} cmd_t;
-cmd_t cmd_tab[] = {
+cmd_t cmd_tab[] = {
{"JOIN", irc_join},
{"PART", irc_part},
{"PRIVMSG", irc_privmsg},
{"QUIT", irc_quit},
{"RAW", irc_raw},
- /*{"ACTION", irc_action}, */
-
+/* {"ACTION", irc_action}, */
{0, 0}
};
-char **separate_commandline (char *msg)
+char** separate_commandline (char *msg)
{
- unsigned int len;
- char **two_words;
+ unsigned int len;
+ char** two_words;
- for (len = 0; msg[len] != ' '; len++); /* Yes, do nothing, just get len ! */
+ /* Yes, do nothing, just get len ! */
+ for (len = 0; msg[len] != ' '; len++);
- two_words = malloc (sizeof (char *) * 2);
- chk_malloc (two_words);
+ two_words = malloc (sizeof(char*) * 2);
- msg[len] = '\0';
+ msg[len] = '\0';
two_words[0] = msg;
two_words[1] = msg + len + 1;
return (two_words);
}
-void string_upper (char *str)
+void string_upper (char *str)
{
- unsigned int len, i;
+ unsigned int len, i;
len = strlen (str);
@@ -61,118 +60,127 @@ void string_upper (char *str)
}
}
-unsigned short sendmsg_len (char *msg)
+unsigned short sendmsg_len (char* msg)
{
return (strlen (msg) + 2);
}
-char *irc_privmsg (char *chan, char *msg)
+char* irc_privmsg (char* chan, char* msg)
{
- char *out;
- unsigned int len;
+ char* out;
+ unsigned int len;
- len = strlen ("PRIVMSG") + 1 /* space */
- + strlen (chan) + 2 /* space: */
- + strlen (msg) + 1; /* \0 */
+ len = strlen ("PRIVMSG") + 1 /* space */
+ + strlen (chan) + 2 /* space: */
+ + strlen (msg) + 1; /* EOF */
- out = malloc (sizeof (char) * len);
- chk_malloc (out);
+ out = malloc (sizeof(char) * len);
snprintf (out, len, "PRIVMSG %s :%s", chan, msg);
return (out);
}
-char *irc_join (char *chan __UNUSED__, char *msg)
+char* irc_join (char* chan __UNUSED__, char* msg)
{
- char *out;
- int len;
-
- if (msg[0] != '#') /* COuld also by '&' and so one ... have to look on RFC, dev will be done with # only */
+ char* out;
+ int len;
+
+ /* COuld also by '&' and so one ...
+ * have to look on RFC, dev will be done with # only */
+ if (msg[0] != '#')
{
printf ("%s is not a channel\n", msg);
printf ("Usage: /JOIN #channel\n");
return (0);
}
- len = strlen ("JOIN") + 1 + strlen (msg) + 1;
- out = malloc (sizeof (char) * len);
- chk_malloc (out);
+ len = strlen ("JOIN") + 1
+ + strlen (msg) + 1;
+ out = malloc (sizeof(char) * len);
snprintf (out, len, "JOIN %s", msg);
return (out);
}
-char *irc_part (char *chan, char *msg)
+char* irc_part (char* chan, char* msg)
{
- char *out;
- int len;
+ char* out;
+ int len;
if (msg[0] != '#')
{
- len = strlen ("PART") + 1 + strlen (chan) + 2 + strlen (msg) + 1;
+ len = strlen ("PART") + 1
+ + strlen (chan) + 2
+ + strlen (msg) + 1;
printf ("irc_part: len: %d\n", len);
- out = malloc (sizeof (char) * len);
- chk_malloc (out);
+ out = malloc (sizeof(char) * len);
snprintf (out, len, "PART %s :%s", chan, msg);
}
else
{
- char **sep;
+ char** sep;
sep = separate_commandline (msg);
- len = strlen ("PART") + 1 + strlen (sep[0]) + 2 + strlen (sep[1]) + 1;
- out = malloc (sizeof (char) * len);
- chk_malloc (out);
+ len = strlen ("PART") + 1
+ + strlen (sep[0]) + 2
+ + strlen (sep[1]) + 1;
+ out = malloc (sizeof(char) * len);
snprintf (out, len, "PART %s :%s", sep[0], sep[1]);
}
return (out);
}
-char *irc_quit (char *chan __UNUSED__, char *msg)
+char* irc_quit (char* chan __UNUSED__, char* msg)
{
- char *out;
- int len;
+ char* out;
+ int len;
- len = strlen ("QUIT") + 2 + strlen (msg) + 1;
+ len = strlen ("QUIT") + 2
+ + strlen (msg) + 1;
out = malloc (sizeof (char) * len);
- chk_malloc (out);
snprintf (out, len, "QUIT :%s", msg);
printf ("msg : %s\nout: %s\n", msg, out);
- //espik_raw_send (out);
- //espik_con_shutdown ();
+/*
+ espik_raw_send (out);
+ espik_con_shutdown ();
-// irc_disconnect(sock);
+ irc_disconnect(sock);
+*/
return (out);
}
-char *irc_raw (char *chan __UNUSED__, char *msg)
+char* irc_raw (char* chan __UNUSED__, char* msg)
{
return (msg);
}
-/*Ecore_Con_Server *irc_connect (char *host __UNUSED__, int port __UNUSED__)
+/*
+Ecore_Con_Server* irc_connect (char* host __UNUSED__, int port __UNUSED__)
{
return (NULL);
-}*/
+}
+*/
-/*void irc_disconnect (Ecore_Con_Server * sock)
+/*
+void irc_disconnect (Ecore_Con_Server *sock)
{
printf ("> irc_disconnect\n");
ecore_main_loop_quit ();
printf ("< irc_disconnect\n");
-}*/
+}
+*/
-char *irc_send (char *msg)
+char* irc_send (char* msg)
{
- char *out;
+ char* out;
out = NULL;
@@ -180,9 +188,9 @@ char *irc_send (char *msg)
if (msg[0] == '/')
{
- char **cmd_and_message;
+ char** cmd_and_message;
- cmd_t *cmd;
+ cmd_t* cmd;
cmd_and_message = separate_commandline (msg + 1);
string_upper (cmd_and_message[0]);
@@ -192,8 +200,9 @@ char *irc_send (char *msg)
if ((strcmp (cmd_and_message[0], cmd->cmd_name)) == 0)
{
out = cmd->format (current_chan, cmd_and_message[1]);
- break; /* WHy do job after found the good to do ? */
- }
+ /* WHy do job after found the good to do ? */
+ break;
+ }
}
if (!out)
{