ev_io_ws *w = &(self->fd_watcher);
w->context = context;
- w->text = (char *)malloc(INPUT_LINE_LENGTH*sizeof(char));
+ w->text = (char *)malloc((LWS_PRE + INPUT_LINE_LENGTH)*sizeof(char));
if (!w->text) {
perror("malloc");
return -1;
}
+ w->text += LWS_PRE;
strcpy(w->text, JSON_EMPTY);
w->pos = w->text;
protocols[PROTOCOL_MERICA_TERMINAL].user = (void *)w->text;
return lws_ev_initloop(context, loop, 0);
}
-void mt_server_deinit(mt_server_t *self) //TODO wtf
+void mt_server_deinit(mt_server_t *self)
{
- //free(self->fd_watcher.text);
- //protocols[PROTOCOL_MERICA_TERMINAL].user = NULL;
+ free(self->fd_watcher.text - LWS_PRE);
+ protocols[PROTOCOL_MERICA_TERMINAL].user = NULL;
lws_context_destroy(self->context);
}