From ec2f4cbc0961d562f39639a1ea3eb4044fc402c7 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 23 Jan 2009 01:35:57 +0000 Subject: [PATCH] Move obsolete evbuffer function into include/event2/buffer_compat.h svn:r1043 --- buffer.c | 3 ++- bufferevent.c | 1 + event.h | 1 + include/event2/buffer.h | 8 -------- include/event2/buffer_compat.h | 35 ++++++++++++++++++++++++++++++++++ 5 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 include/event2/buffer_compat.h diff --git a/buffer.c b/buffer.c index 78e91c63..0a7b95cf 100644 --- a/buffer.c +++ b/buffer.c @@ -67,6 +67,7 @@ #include "event2/event.h" #include "event2/buffer.h" +#include "event2/buffer_compat.h" #include "config.h" #include "log-internal.h" #include "mm-internal.h" @@ -132,7 +133,7 @@ evbuffer_invoke_callbacks(struct evbuffer *buffer, size_t old_size) static void evbuffer_remove_all_callbacks(struct evbuffer *buffer) { - struct evbuffer_cb_entry *cbent, *next; + struct evbuffer_cb_entry *cbent; while ((cbent = TAILQ_FIRST(&buffer->callbacks))) { TAILQ_REMOVE(&buffer->callbacks, cbent, next); mm_free(cbent); diff --git a/bufferevent.c b/bufferevent.c index b250a24a..46b8e524 100644 --- a/bufferevent.c +++ b/bufferevent.c @@ -51,6 +51,7 @@ #include "event2/util.h" #include "event2/bufferevent.h" #include "event2/buffer.h" +#include "event2/buffer_compat.h" #include "event2/bufferevent_struct.h" #include "event2/event.h" #include "log-internal.h" diff --git a/event.h b/event.h index 22709db1..ec187b4b 100644 --- a/event.h +++ b/event.h @@ -189,6 +189,7 @@ typedef unsigned short u_short; #include #include #include +#include #include #include #include diff --git a/include/event2/buffer.h b/include/event2/buffer.h index 66e54dd1..3fbe6fe0 100644 --- a/include/event2/buffer.h +++ b/include/event2/buffer.h @@ -219,14 +219,6 @@ enum evbuffer_eol_style { char *evbuffer_readln(struct evbuffer *buffer, size_t *n_read_out, enum evbuffer_eol_style eol_style); -/** - Obsolete alias for evbuffer_readln(buffer, NULL, EOL_STYLE_ANY). - - @param buffer the evbuffer to read from - @return pointer to a single line, or NULL if an error occurred -*/ -char *evbuffer_readline(struct evbuffer *buffer); - /** Move data from one evbuffer into another evbuffer. diff --git a/include/event2/buffer_compat.h b/include/event2/buffer_compat.h new file mode 100644 index 00000000..8c82a0a6 --- /dev/null +++ b/include/event2/buffer_compat.h @@ -0,0 +1,35 @@ + +#ifndef _EVENT2_BUFFER_COMPAT_H_ +#define _EVENT2_BUFFER_COMPAT_H_ + +/** @file buffer_compat.h + + Obsolete and deprecated versions of the functions in buffer.h: provided + only for backward compatibility. + */ + + +/** + Obsolete alias for evbuffer_readln(buffer, NULL, EOL_STYLE_ANY). + + @param buffer the evbuffer to read from + @return pointer to a single line, or NULL if an error occurred +*/ +char *evbuffer_readline(struct evbuffer *buffer); + +/** + Replace all callbacks on an evbuffer with a single new callback, or + remove them. + + Subsequent calls to evbuffer_setcb() replace callbacks set by previous + calls. Setting the callback to NULL removes any previously set callback. + + @param buffer the evbuffer to be monitored + @param cb the callback function to invoke when the evbuffer is modified, + or NULL to remove all callbacks. + @param cbarg an argument to be provided to the callback function + */ +void evbuffer_setcb(struct evbuffer *buffer, evbuffer_cb cb, void *cbarg); + +#endif +