chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / ring.c
index f9ef6af861600260236b25e62cf5d413eec8405f..ca412abc25ead6339627756d04be1e014cd14cf9 100644 (file)
@@ -10,6 +10,12 @@ static char rcsid[] = "$Id$";
 
 /*
  * $Log$
+ * Revision 1.4  2008/02/13 16:57:29  james
+ * *** empty log message ***
+ *
+ * Revision 1.3  2008/02/13 09:12:21  james
+ * *** empty log message ***
+ *
  * Revision 1.2  2008/02/12 22:36:46  james
  * *** empty log message ***
  *
@@ -56,13 +62,34 @@ ring_write (Ring * r, void *b, int n)
   return writ;
 }
 
+int
+ring_space (Ring * r)
+{
+  int i;
+
+  i = r->size - RING_NEXT_W (r) + r->rptr;
+  i %= r->size;
+  return i;
+}
+
+int
+ring_bytes (Ring * r)
+{
+  int i;
+
+  i = r->size + r->wptr - r->rptr;
+  i %= r->size;
+  return i;
+}
+
+
 
 
 Ring *
 ring_new (int n)
 {
   Ring *ret = (Ring *) malloc (sizeof (Ring));
-  ret->buf = (uint8_t *) malloc (n);
+  ret->ring = (uint8_t *) malloc (n);
   ret->size = n;
   ret->wptr = ret->rptr = 0;