#include <string.h>
#include <sys/types.h>
+#include <sys/select.h>
#include <unistd.h>
#include "io.h"
static const bool UseDebug = FALSE;
static const bool UseCR = FALSE;
-static const int StringSize = 4096;
-
static const char LF = '\n';
static const char CR = '\r';
ASSERT(io_is_ok(io));
}
+// io_peek()
+
+bool io_peek(io_t * io){
+ fd_set set[1];
+ int fd_max;
+ int ret;
+ struct timeval tv;
+ tv.tv_sec=0;
+ tv.tv_usec=0;
+
+ FD_ZERO(set);
+ FD_SET(io->in_fd,set);
+ fd_max=io->in_fd;
+ ret=select(fd_max+1,set,NULL,NULL,&tv);
+ if(ret>0){
+ return TRUE;
+ }else{
+ return FALSE;
+ }
+}
+
// io_close()
void io_close(io_t * io) {
pos = io->in_size;
size = BufferSize - pos;
- if (size <= 0) my_fatal("io_get_update(): buffer overflow\n");
+
+
+ if (size <= 0){
+ // io->in_buffer[FormatBufferSize-20]='\0';
+ // my_log("%s","io_get_update(): buffer too small; content starts with:\n");
+ // my_log("[%s...]\n",io->in_buffer);
+ my_fatal("io_get_update(): buffer overflow\n");
+ }
// read as many data as possible
n = my_read(io->in_fd,&io->in_buffer[pos],size);
io->in_eof = TRUE;
}
+
}
// io_line_ready()