\section{aversive\_\-10-03-12/modules/base/cirbuf/cirbuf\_\-del\_\-tail.c File Reference}
\label{cirbuf__del__tail_8c}\index{aversive\_\-10-03-12/modules/base/cirbuf/cirbuf\_\-del\_\-tail.c@{aversive\_\-10-03-12/modules/base/cirbuf/cirbuf\_\-del\_\-tail.c}}
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$cirbuf.h$>$}\par
\subsection*{Functions}
\begin{CompactItemize}
\item 
{\bf cirbuf\_\-int} {\bf cirbuf\_\-del\_\-tail\_\-safe} (struct {\bf cirbuf} $\ast$cbuf)
\item 
void {\bf cirbuf\_\-del\_\-tail} (struct {\bf cirbuf} $\ast$cbuf)
\end{CompactItemize}


\subsection{Function Documentation}
\index{cirbuf\_\-del\_\-tail.c@{cirbuf\_\-del\_\-tail.c}!cirbuf\_\-del\_\-tail@{cirbuf\_\-del\_\-tail}}
\index{cirbuf\_\-del\_\-tail@{cirbuf\_\-del\_\-tail}!cirbuf_del_tail.c@{cirbuf\_\-del\_\-tail.c}}
\subsubsection[cirbuf\_\-del\_\-tail]{\setlength{\rightskip}{0pt plus 5cm}void cirbuf\_\-del\_\-tail (struct {\bf cirbuf} $\ast$ {\em cbuf})}\label{cirbuf__del__tail_8c_c66f5650bd69df5c7333121166f81a96}


Remove a char at the tail of the circular buffer. You \_\-must\_\- check that buffer is not empty before calling the function. 

Definition at line 51 of file cirbuf\_\-del\_\-tail.c.

Referenced by rdline\_\-char\_\-in(), uart\_\-recv\_\-nowait(), and uart\_\-send\_\-next\_\-char().\index{cirbuf\_\-del\_\-tail.c@{cirbuf\_\-del\_\-tail.c}!cirbuf\_\-del\_\-tail\_\-safe@{cirbuf\_\-del\_\-tail\_\-safe}}
\index{cirbuf\_\-del\_\-tail\_\-safe@{cirbuf\_\-del\_\-tail\_\-safe}!cirbuf_del_tail.c@{cirbuf\_\-del\_\-tail.c}}
\subsubsection[cirbuf\_\-del\_\-tail\_\-safe]{\setlength{\rightskip}{0pt plus 5cm}{\bf cirbuf\_\-int} cirbuf\_\-del\_\-tail\_\-safe (struct {\bf cirbuf} $\ast$ {\em cbuf})}\label{cirbuf__del__tail_8c_ef1ad576965cfe8c8e9af2545154ede9}


Remove a char at the tail of the circular buffer. Return 0 on success, or a negative value on \doxyref{error}{p.}{structerror}. 

Definition at line 41 of file cirbuf\_\-del\_\-tail.c.

References CIRBUF\_\-IS\_\-EMPTY, and EINVAL.

Referenced by rdline\_\-char\_\-in().