From acb05ae4aa9d33cfd3ada9a94bfda79a9bd50639 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 16 Sep 2011 18:41:28 +0000 Subject: [PATCH] Add function to measure the length of the fifo buffer --- libcitadel/lib/libcitadel.h | 1 + libcitadel/lib/stringbuf.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index 021caf8d0..ac102b1b2 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -241,6 +241,7 @@ int StrBuf_write_one_chunk_callback(int fd, short event, IOBuffer *FB); eReadState StrBufChunkSipLine(StrBuf *LineBuf, IOBuffer *FB); eReadState StrBufCheckBuffer(IOBuffer *FB); +long IOBufferStrLength(IOBuffer *FB); int StrBufSipLine(StrBuf *LineBuf, const StrBuf *Buf, const char **Ptr); int StrBufReplaceToken(StrBuf *Buf, long where, long HowLong, const char *Repl, long ReplLen); diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index 2b0d2fe8e..c8f8a6434 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -3774,6 +3774,14 @@ eReadState StrBufCheckBuffer(IOBuffer *FB) return eReadSuccess; } +long IOBufferStrLength(IOBuffer *FB) +{ + if (FB->ReadWritePointer == NULL) + return StrLength(FB->Buf); + + return StrLength(FB->Buf) - (FB->ReadWritePointer - FB->Buf->buf); +} + /******************************************************************************* * File I/O; Prefer buffered read since its faster! * *******************************************************************************/ -- 2.30.2