From 9e8f8dbd9c52d1da132d618573d87650e0a0f7f9 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 14 Aug 2014 08:32:50 +1000 Subject: Only collect the errors and warnings during a compile, output them in a batch at the end. --- src/libraries/SledjHamr.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/libraries/SledjHamr.c') 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 Ecore_Event_Handler *add, *data, *del; }; +struct _message +{ + Eina_Clist node; + char *message; +}; + static Eina_Bool _add(void *data, int type, Ecore_Con_Event_Server_Del *ev) { @@ -85,6 +91,25 @@ Ecore_Con_Server *reachOut(char *address, int port, void *data, Ecore_Event_Hand return server; } +void *addMessage(Eina_Clist *list, size_t size, const char *message, ...) +{ + va_list args; + char buf[PATH_MAX]; + int length = 0; + struct _message *result; + + va_start(args, message); + length += vsprintf(&buf[length], message, args); + va_end(args); + result = calloc(1, size + length + 1); + eina_clist_element_init(&(result->node)); + eina_clist_add_tail(list, &(result->node)); + result->message = ((char *) result) + size; + strcpy(result->message, buf); + + return result; +} + void sendBack(Ecore_Con_Client *client, const char *SID, const char *message, ...) { va_list args; -- cgit v1.1