aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libraries/SledjHamr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libraries/SledjHamr.c')
-rw-r--r--src/libraries/SledjHamr.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/libraries/SledjHamr.c b/src/libraries/SledjHamr.c
index 5e1d387..5b1cfd5 100644
--- a/src/libraries/SledjHamr.c
+++ b/src/libraries/SledjHamr.c
@@ -13,6 +13,12 @@ struct _conct
13 Ecore_Event_Handler *add, *data, *del; 13 Ecore_Event_Handler *add, *data, *del;
14}; 14};
15 15
16struct _message
17{
18 Eina_Clist node;
19 char *message;
20};
21
16 22
17static Eina_Bool _add(void *data, int type, Ecore_Con_Event_Server_Del *ev) 23static Eina_Bool _add(void *data, int type, Ecore_Con_Event_Server_Del *ev)
18{ 24{
@@ -85,6 +91,25 @@ Ecore_Con_Server *reachOut(char *address, int port, void *data, Ecore_Event_Hand
85 return server; 91 return server;
86} 92}
87 93
94void *addMessage(Eina_Clist *list, size_t size, const char *message, ...)
95{
96 va_list args;
97 char buf[PATH_MAX];
98 int length = 0;
99 struct _message *result;
100
101 va_start(args, message);
102 length += vsprintf(&buf[length], message, args);
103 va_end(args);
104 result = calloc(1, size + length + 1);
105 eina_clist_element_init(&(result->node));
106 eina_clist_add_tail(list, &(result->node));
107 result->message = ((char *) result) + size;
108 strcpy(result->message, buf);
109
110 return result;
111}
112
88void sendBack(Ecore_Con_Client *client, const char *SID, const char *message, ...) 113void sendBack(Ecore_Con_Client *client, const char *SID, const char *message, ...)
89{ 114{
90 va_list args; 115 va_list args;