rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/select.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include "cmds.h"
#include "conf.h"
#include "globales.h"
#include "log.h"
#include "timestamp.h"
#include <gtk/gtk.h>
#include "window.h"
#include "main.h"
// function to read buffer line
int
readirccmd (char *rbuffer, int len, int sockfd)
{
int i;
for (i = 0; i < len && rbuffer[i - 1] != '\n'; i++)
{
recv (sockfd, rbuffer + i, 1, 0);
}
return i;
}
// function to read entire data
void read_socket(GtkWidget *widget, gpointer data) {
static char r_buffer[524];
gchar *sschem;
memset (rbuffer, 0, sizeof (rbuffer));
readirccmd (rbuffer, sizeof (rbuffer), sockfd);
memset (r_buffer, 0, sizeof (r_buffer));
snprintf (r_buffer, sizeof r_buffer, "%s %s", gettimestamp(), rbuffer);
TextBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview1));
gtk_text_buffer_get_start_iter(TextBuffer, &Start);
gtk_text_buffer_get_end_iter(TextBuffer, &End);
g_print ("%s %s", gettimestamp(), rbuffer);
gchar *lbuf = r_buffer;
sschem = g_strdup(lbuf);
gtk_text_buffer_insert(TextBuffer, &End, sschem, -1);
//write_log_file();
g_free(sschem);
}