Hi,

> bufferevent_read_pressure_cb() may not use the second argument, but
> other users of the evbuffer API can and likely do.  (The evbuffer API
> is, after all, exported in event.h.)
> 
> I don't want to break existing code if I can help it.

I understand that breaking existing API is not a good solution.

However, we can still avoid passing unneeded arguments to
bufferevent_read_pressure_cb.

Here's an updated patch which removes unneeded arguments without
breaking the evbuffer API.

Regards,

Charles Longeau

Index: buffer.c
===================================================================
--- buffer.c    (revision 504)
+++ buffer.c    (working copy)
@@ -116,7 +116,7 @@
                 * of data that we transfered from inbuf to outbuf
                 */
                if (inbuf->off != oldoff && inbuf->cb != NULL)
-                       (*inbuf->cb)(inbuf, oldoff, inbuf->off, inbuf->cbarg);
+                       (*inbuf->cb)(inbuf, 0, inbuf->off, inbuf->cbarg);
                if (oldoff && outbuf->cb != NULL)
                        (*outbuf->cb)(outbuf, 0, oldoff, outbuf->cbarg);
                
@@ -137,7 +137,6 @@
 {
        char *buffer;
        size_t space;
-       size_t oldoff = buf->off;
        int sz;
        va_list aq;
 
@@ -168,7 +167,7 @@
                if (sz < space) {
                        buf->off += sz;
                        if (buf->cb != NULL)
-                               (*buf->cb)(buf, oldoff, buf->off, buf->cbarg);
+                               (*buf->cb)(buf, 0, buf->off, buf->cbarg);
                        return (sz);
                }
                if (evbuffer_expand(buf, sz + 1) == -1)
@@ -305,7 +304,6 @@
 evbuffer_add(struct evbuffer *buf, const void *data, size_t datlen)
 {
        size_t need = buf->misalign + buf->off + datlen;
-       size_t oldoff = buf->off;
 
        if (buf->totallen < need) {
                if (evbuffer_expand(buf, datlen) == -1)
@@ -316,7 +314,7 @@
        buf->off += datlen;
 
        if (datlen && buf->cb != NULL)
-               (*buf->cb)(buf, oldoff, buf->off, buf->cbarg);
+               (*buf->cb)(buf, 0, buf->off, buf->cbarg);
 
        return (0);
 }
@@ -341,7 +339,7 @@
  done:
        /* Tell someone about changes in this buffer */
        if (buf->off != oldoff && buf->cb != NULL)
-               (*buf->cb)(buf, oldoff, buf->off, buf->cbarg);
+               (*buf->cb)(buf, 0, buf->off, buf->cbarg);
 
 }
 
@@ -404,7 +402,7 @@
 
        /* Tell someone about changes in this buffer */
        if (buf->off != oldoff && buf->cb != NULL)
-               (*buf->cb)(buf, oldoff, buf->off, buf->cbarg);
+               (*buf->cb)(buf, 0, buf->off, buf->cbarg);
 
        return (n);
 }
_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to