}
// TODO handle buffer overfulls
-
+
return self->eol == self->buffer ? NULL : self->buffer;
}
+/*
+void
+rxpd_buffer_write(int fd, short event, void* ptr)
+{
+ struct rxpd_buffer* self = (struct rxpd_buffer*) ptr;
+
+ ssize_t n = write(int fd, const void *buf, size_t count);
+
+}
+*/
+
+int
+rxpd_buffer_printf (struct rxpd_buffer* self, const char* fmt, ...)
+{
+ // for now we do a blocking write, needs to be fixed some day
+ // add string to buffer
+ va_list ap;
+ va_start(ap, fmt);
+ //int sz = self->buffer+4096 - self->eob;
+ int n = vsnprintf (self->buffer, 4096, fmt, ap);
+ va_end(ap);
+
+ write (self->conn->fd, self->buffer, n);
+
+ if (n>4095)
+ return 0;
+
+ return 1;
+}
+