\hypertarget{group__Eina__String__Buffer__Group}{}\section{String Buffer}
\label{group__Eina__String__Buffer__Group}\index{String Buffer@{String Buffer}}


These functions provide string buffer management.  


\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga1816dd2a9e1071a3ca35e4ad2e862402}{eina\+\_\+strbuf\+\_\+prepend}}(buf,  str)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}{eina\+\_\+strbuf\+\_\+insert}}(buf, str, 0)
\begin{DoxyCompactList}\small\item\em Prepends a string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae1014eaec5abac59c810a874ba95d0c1}{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}}(buf,  str)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga04719a5613488bbbd17f9eb75933d2c1}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}}(buf, str, 0)
\begin{DoxyCompactList}\small\item\em Prepends an escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga56b481419ab90f7420a50f56d4559aa2}{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}}(buf,  str,  maxlen)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}{eina\+\_\+strbuf\+\_\+insert\+\_\+n}}(buf, str, maxlen, 0)
\begin{DoxyCompactList}\small\item\em Prepends an escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga322886c027a063e92b1daa0a806272cc}{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}}(buf,  str,  length)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}{eina\+\_\+strbuf\+\_\+insert\+\_\+length}}(buf, str, length, 0)
\begin{DoxyCompactList}\small\item\em Prepends an escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_gac979572ea69d8f3de67cedb0d7011553}{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}}(buf,  c)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaf019380a09f1dcf8473b64b4ff699543}{eina\+\_\+strbuf\+\_\+insert\+\_\+char}}(buf, c, 0)
\begin{DoxyCompactList}\small\item\em Prepends a character to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_gabc989298d3db5b39eb68c15eed75fe88}{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}}(buf,  fmt, ...)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}}(buf, fmt, 0, \#\# \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\begin{DoxyCompactList}\small\item\em Prepends data elements to the given buffer using printf-\/style formatting. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7e54fa58ee7a21ef21a781d9728cf839}{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}}(buf,  fmt,  args)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gae0cb598486b360b1ba06848b485d593f}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}}(buf, fmt, 0, args)
\begin{DoxyCompactList}\small\item\em Prepends the given string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_gadb9be08a24e6b4a8702ca9930cf1ea17}{eina\+\_\+strbuf\+\_\+replace\+\_\+first}}(buf,  str,  with)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gab86896d681b3dc51022a0555d41f20f1}{eina\+\_\+strbuf\+\_\+replace}}(buf, str, with, 1)
\begin{DoxyCompactList}\small\item\em Replaces the first occurrence of a substring with another string. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaafb64a4b22ded910c9f80ce32b377a56}{eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime}}(buf,  fmt,  tm)~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime}}(buf, fmt, tm, 0)
\begin{DoxyCompactList}\small\item\em Prepends a strftime-\/style timestamp to the buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}\label{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}} 
typedef struct \mbox{\hyperlink{struct__Eina__Strbuf}{\+\_\+\+Eina\+\_\+\+Strbuf}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}
\begin{DoxyCompactList}\small\item\em Type for a string buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}{eina\+\_\+strbuf\+\_\+new}} (void)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga458a02a82d743856819ae239fd94e95d}{eina\+\_\+strbuf\+\_\+manage\+\_\+new}} (char $\ast$str)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer using the passed string. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae4f4e9f6f1a7135027357144c655d944}{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length}} (char $\ast$str, size\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer using the passed string. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga5ae85082ac2f6a00621b4a5703850759}{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length}} (const char $\ast$str, size\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer using the passed string. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Frees a string buffer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga9f3435de2169ee40306c0111fa1a60b6}{eina\+\_\+strbuf\+\_\+reset}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Resets a string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str)
\begin{DoxyCompactList}\small\item\em Appends a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga408b371f57f35a8f5391c2e85ab28b35}{eina\+\_\+strbuf\+\_\+append\+\_\+escaped}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str)
\begin{DoxyCompactList}\small\item\em Appends an escaped string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8a66b98b4c957658c87f4a79c2f1b10b}{eina\+\_\+strbuf\+\_\+append\+\_\+n}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, size\+\_\+t maxlen)
\begin{DoxyCompactList}\small\item\em Appends a string to a buffer, reallocating as necessary, limited by the given length. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}{eina\+\_\+strbuf\+\_\+append\+\_\+length}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, size\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Appends a string of exact length to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga919d8dbf60bdbfa71cd71b3b8345233b}{eina\+\_\+strbuf\+\_\+append\+\_\+slice}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} slice)
\begin{DoxyCompactList}\small\item\em Append a slice to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae6aaf2952c53d0bac97fa36f2570c15b}{eina\+\_\+strbuf\+\_\+append\+\_\+buffer}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$data)
\begin{DoxyCompactList}\small\item\em Appends an Eina\+\_\+\+Strbuf to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8afef8fb6f9aedcd6a81603bef0c7f86}{eina\+\_\+strbuf\+\_\+append\+\_\+char}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, char c)
\begin{DoxyCompactList}\small\item\em Appends a character to a string buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga436897daafadbf56f2e3d7c0d4d21040}{eina\+\_\+strbuf\+\_\+append\+\_\+printf}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$fmt,...) \mbox{\hyperlink{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+TF}}(2
\begin{DoxyCompactList}\small\item\em Appends data elements to a buffer using printf-\/style formatting. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga4e1679239587f6f9f1c3c27838e4e6a1}{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$fmt, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Appends data elements to a string buffer using a va\+\_\+list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}{eina\+\_\+strbuf\+\_\+insert}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a string into a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga04719a5613488bbbd17f9eb75933d2c1}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts an escaped string into a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}{eina\+\_\+strbuf\+\_\+insert\+\_\+n}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, size\+\_\+t maxlen, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a string of a maximum length into a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}{eina\+\_\+strbuf\+\_\+insert\+\_\+length}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, size\+\_\+t length, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a string of an exact length into a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaf08bff3ea809afef9892f845b313da10}{eina\+\_\+strbuf\+\_\+insert\+\_\+slice}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} slice, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Insert a slice into a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaf019380a09f1dcf8473b64b4ff699543}{eina\+\_\+strbuf\+\_\+insert\+\_\+char}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, char c, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a character into a string buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$fmt, size\+\_\+t pos,...) \mbox{\hyperlink{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+TF}}(2
\begin{DoxyCompactList}\small\item\em Inserts data elements into a buffer using printf-\/style formatting. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae0cb598486b360b1ba06848b485d593f}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$fmt, size\+\_\+t pos, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Inserts data elements into a buffer using a va\+\_\+list. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gac7ead92f4ce23c16b7a33d40ce3bf5cd}{eina\+\_\+strbuf\+\_\+remove}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, size\+\_\+t start, size\+\_\+t end)
\begin{DoxyCompactList}\small\item\em Removes a section from the given string buffer. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga66c7c19a2b240448fbd2dae6c6161023}{eina\+\_\+strbuf\+\_\+string\+\_\+get}} (const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to the contents of a string buffer. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}{eina\+\_\+strbuf\+\_\+string\+\_\+steal}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Steals the contents of a string buffer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga51b004c36c1296daede8b62f16a62af0}{eina\+\_\+strbuf\+\_\+string\+\_\+free}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Frees the contents of a string buffer but not the buffer. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaa6ef2a1cb7f79070508e6bf158caeccc}{eina\+\_\+strbuf\+\_\+length\+\_\+get}} (const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Retrieves the length of the string buffer\textquotesingle{}s content. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gab86896d681b3dc51022a0555d41f20f1}{eina\+\_\+strbuf\+\_\+replace}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, const char $\ast$with, unsigned int n)
\begin{DoxyCompactList}\small\item\em Replaces a substring in the buffer with another string. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Eina__String__Buffer__Group_gab86cdc70b13b7f6b1c168ed2b563d600}{eina\+\_\+strbuf\+\_\+replace\+\_\+all}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$str, const char $\ast$with)
\begin{DoxyCompactList}\small\item\em Replaces all matching substrings with another string. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga55635b9822580cc86900f325581fd4f9}{eina\+\_\+strbuf\+\_\+trim}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Trims the string buffer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_gab776bbb23bb2b2161d64c644dcaede33}{eina\+\_\+strbuf\+\_\+ltrim}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Left trims the string buffer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8a42d1a27c716bf00db38242743c8dac}{eina\+\_\+strbuf\+\_\+rtrim}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Right trims the string buffer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaa6fbcb0fdebd3e8ec9ba466c2c7b3aaa}{eina\+\_\+strbuf\+\_\+tolower}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Converts the string to lower case. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga4c68ed255853465641092387f2bb14c9}{eina\+\_\+strbuf\+\_\+substr\+\_\+get}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, size\+\_\+t pos, size\+\_\+t len)
\begin{DoxyCompactList}\small\item\em Obtains substring from a source string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gacc99b95a2e9d2c03fad91f5a0f5117f2}{eina\+\_\+strbuf\+\_\+slice\+\_\+get}} (const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Gets a read-\/only slice of the buffer contents. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Slice__Group_gad43ea51c6434252512a3e7305cea4af3}{Eina\+\_\+\+Rw\+\_\+\+Slice}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga294b4a4951e816887178b3eb11eaa4c2}{eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get}} (const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Gets a read-\/write slice of the buffer contents. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga00f3ffa2ea0516bb46e4ee6b927b062c}{eina\+\_\+strbuf\+\_\+release}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf)
\begin{DoxyCompactList}\small\item\em Frees the buffer, returning its old contents. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7bac4d44b2effd570224809ab83f3008}{eina\+\_\+strbuf\+\_\+append\+\_\+strftime}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$fmt, const struct tm $\ast$tm)
\begin{DoxyCompactList}\small\item\em Appends a strftime-\/style timestamp to the buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime}} (\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$buf, const char $\ast$fmt, const struct tm $\ast$tm, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a strftime-\/style timestamp into the buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
These functions provide string buffer management. 

The String Buffer data type is designed to be a mutable string, allowing the appending, prepending or insertion of a string to a buffer.

For more information see \mbox{\hyperlink{tutorial_strbuf}{this example}}. 

\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga1816dd2a9e1071a3ca35e4ad2e862402}\label{group__Eina__String__Buffer__Group_ga1816dd2a9e1071a3ca35e4ad2e862402}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend@{eina\+\_\+strbuf\+\_\+prepend}}
\index{eina\+\_\+strbuf\+\_\+prepend@{eina\+\_\+strbuf\+\_\+prepend}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend}{eina\_strbuf\_prepend}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}{eina\+\_\+strbuf\+\_\+insert}}(buf, str, 0)}



Prepends a string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}{eina\+\_\+strbuf\+\_\+insert()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gae1014eaec5abac59c810a874ba95d0c1}\label{group__Eina__String__Buffer__Group_gae1014eaec5abac59c810a874ba95d0c1}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped@{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped@{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}{eina\_strbuf\_prepend\_escaped}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga04719a5613488bbbd17f9eb75933d2c1}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}}(buf, str, 0)}



Prepends an escaped string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga04719a5613488bbbd17f9eb75933d2c1}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga56b481419ab90f7420a50f56d4559aa2}\label{group__Eina__String__Buffer__Group_ga56b481419ab90f7420a50f56d4559aa2}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+n@{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+n@{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}{eina\_strbuf\_prepend\_n}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+n(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str,  }\item[{}]{maxlen }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}{eina\+\_\+strbuf\+\_\+insert\+\_\+n}}(buf, str, maxlen, 0)}



Prepends an escaped string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to prepend. \\
\hline
\mbox{\tt in}  & {\em maxlen} & The maximum number of chars to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}{eina\+\_\+strbuf\+\_\+insert\+\_\+n()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga322886c027a063e92b1daa0a806272cc}\label{group__Eina__String__Buffer__Group_ga322886c027a063e92b1daa0a806272cc}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+length@{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+length@{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}{eina\_strbuf\_prepend\_length}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+length(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str,  }\item[{}]{length }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}{eina\+\_\+strbuf\+\_\+insert\+\_\+length}}(buf, str, length, 0)}



Prepends an escaped string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to prepend. \\
\hline
\mbox{\tt in}  & {\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gac979572ea69d8f3de67cedb0d7011553}\label{group__Eina__String__Buffer__Group_gac979572ea69d8f3de67cedb0d7011553}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+char@{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+char@{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}{eina\_strbuf\_prepend\_char}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+char(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{c }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaf019380a09f1dcf8473b64b4ff699543}{eina\+\_\+strbuf\+\_\+insert\+\_\+char}}(buf, c, 0)}



Prepends a character to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em c} & The character to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaf019380a09f1dcf8473b64b4ff699543}{eina\+\_\+strbuf\+\_\+insert\+\_\+char()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gabc989298d3db5b39eb68c15eed75fe88}\label{group__Eina__String__Buffer__Group_gabc989298d3db5b39eb68c15eed75fe88}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+printf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}{eina\_strbuf\_prepend\_printf}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+printf(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{fmt,  }\item[{}]{... }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}}(buf, fmt, 0, \#\# \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}



Prepends data elements to the given buffer using printf-\/style formatting. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The string to prepend. \\
\hline
\mbox{\tt in}  & {\em ...} & Variable list of data elements to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if data could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga7e54fa58ee7a21ef21a781d9728cf839}\label{group__Eina__String__Buffer__Group_ga7e54fa58ee7a21ef21a781d9728cf839}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}{eina\_strbuf\_prepend\_vprintf}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{fmt,  }\item[{}]{args }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gae0cb598486b360b1ba06848b485d593f}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}}(buf, fmt, 0, args)}



Prepends the given string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The string to prepend. \\
\hline
\mbox{\tt in}  & {\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if data could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae0cb598486b360b1ba06848b485d593f}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf()}} with position 0. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gadb9be08a24e6b4a8702ca9930cf1ea17}\label{group__Eina__String__Buffer__Group_gadb9be08a24e6b4a8702ca9930cf1ea17}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+replace\+\_\+first@{eina\+\_\+strbuf\+\_\+replace\+\_\+first}}
\index{eina\+\_\+strbuf\+\_\+replace\+\_\+first@{eina\+\_\+strbuf\+\_\+replace\+\_\+first}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+replace\+\_\+first}{eina\_strbuf\_replace\_first}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+replace\+\_\+first(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str,  }\item[{}]{with }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gab86896d681b3dc51022a0555d41f20f1}{eina\+\_\+strbuf\+\_\+replace}}(buf, str, with, 1)}



Replaces the first occurrence of a substring with another string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The text to match. \\
\hline
\mbox{\tt in}  & {\em with} & The replacement string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be replaced in {\ttfamily buf}.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_gab86896d681b3dc51022a0555d41f20f1}{eina\+\_\+strbuf\+\_\+replace()}} with {\ttfamily n} equal to {\ttfamily 1}. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaafb64a4b22ded910c9f80ce32b377a56}\label{group__Eina__String__Buffer__Group_gaafb64a4b22ded910c9f80ce32b377a56}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime@{eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime@{eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime}{eina\_strbuf\_prepend\_strftime}}
{\footnotesize\ttfamily \#define eina\+\_\+strbuf\+\_\+prepend\+\_\+strftime(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{fmt,  }\item[{}]{tm }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime}}(buf, fmt, tm, 0)}



Prepends a strftime-\/style timestamp to the buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The formatting string. \\
\hline
\mbox{\tt in}  & {\em tm} & The time value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily tm} could not be prepended.
\end{DoxyReturn}
This macro simply calls \mbox{\hyperlink{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime()}} with position 0.

\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}


\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}\label{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+new@{eina\+\_\+strbuf\+\_\+new}}
\index{eina\+\_\+strbuf\+\_\+new@{eina\+\_\+strbuf\+\_\+new}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+new()}{eina\_strbuf\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}$\ast$ eina\+\_\+strbuf\+\_\+new (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Creates a new string buffer. 

\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily N\+U\+LL} on error.
\end{DoxyReturn}
This function creates a new string buffer. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga66c7c19a2b240448fbd2dae6c6161023}{eina\+\_\+strbuf\+\_\+string\+\_\+get()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get(), edje\+\_\+available\+\_\+modules\+\_\+get(), edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate(), edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate(), efl\+\_\+debug\+\_\+name\+\_\+get(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), elm\+\_\+theme\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga458a02a82d743856819ae239fd94e95d}\label{group__Eina__String__Buffer__Group_ga458a02a82d743856819ae239fd94e95d}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+manage\+\_\+new@{eina\+\_\+strbuf\+\_\+manage\+\_\+new}}
\index{eina\+\_\+strbuf\+\_\+manage\+\_\+new@{eina\+\_\+strbuf\+\_\+manage\+\_\+new}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+manage\+\_\+new()}{eina\_strbuf\_manage\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}$\ast$ eina\+\_\+strbuf\+\_\+manage\+\_\+new (\begin{DoxyParamCaption}\item[{char $\ast$}]{str }\end{DoxyParamCaption})}



Creates a new string buffer using the passed string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em str} & The string to manage. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily N\+U\+LL} on error.
\end{DoxyReturn}
This function creates a new string buffer. The passed string is used directly as the buffer, it\textquotesingle{}s effectively the inverse of \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}}. The passed string must be malloc\textquotesingle{}d. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga66c7c19a2b240448fbd2dae6c6161023}{eina\+\_\+strbuf\+\_\+string\+\_\+get()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+1.\+0 
\end{DoxySince}


Referenced by eina\+\_\+strbuf\+\_\+substr\+\_\+get().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gae4f4e9f6f1a7135027357144c655d944}\label{group__Eina__String__Buffer__Group_gae4f4e9f6f1a7135027357144c655d944}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length()}{eina\_strbuf\_manage\_new\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}$\ast$ eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length (\begin{DoxyParamCaption}\item[{char $\ast$}]{str,  }\item[{size\+\_\+t}]{length }\end{DoxyParamCaption})}



Creates a new string buffer using the passed string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em str} & The string to manage. \\
\hline
\mbox{\tt in}  & {\em length} & The length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily N\+U\+LL} on error.
\end{DoxyReturn}
This function creates a new string buffer. The passed string is used directly as the buffer, it\textquotesingle{}s effectively the inverse of \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}}. The passed string must be malloc\textquotesingle{}d. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga458a02a82d743856819ae239fd94e95d}{eina\+\_\+strbuf\+\_\+manage\+\_\+new()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga5ae85082ac2f6a00621b4a5703850759}\label{group__Eina__String__Buffer__Group_ga5ae85082ac2f6a00621b4a5703850759}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length()}{eina\_strbuf\_manage\_read\_only\_new\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}$\ast$ eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{length }\end{DoxyParamCaption})}



Creates a new string buffer using the passed string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em str} & The string to manage. \\
\hline
\mbox{\tt in}  & {\em length} & The length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily N\+U\+LL} on error.
\end{DoxyReturn}
This function creates a new string buffer. The passed string is used directly as the buffer, it\textquotesingle{}s effectively the inverse of \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}}. The passed string is expected to be static or otherwise on the stack rather than the malloc\textquotesingle{}d string required by \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae4f4e9f6f1a7135027357144c655d944}{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length()}}. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\+\_\+strbuf\+\_\+free()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga458a02a82d743856819ae239fd94e95d}{eina\+\_\+strbuf\+\_\+manage\+\_\+new()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gae4f4e9f6f1a7135027357144c655d944}{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+9.\+0 
\end{DoxySince}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}\label{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+free@{eina\+\_\+strbuf\+\_\+free}}
\index{eina\+\_\+strbuf\+\_\+free@{eina\+\_\+strbuf\+\_\+free}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+free()}{eina\_strbuf\_free()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Frees a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer to free.\\
\hline
\end{DoxyParams}
This function frees the memory of {\ttfamily buf}. {\ttfamily buf} must have been created by \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}{eina\+\_\+strbuf\+\_\+new()}}. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get(), edje\+\_\+available\+\_\+modules\+\_\+get(), edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate(), edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate(), edje\+\_\+edit\+\_\+full\+\_\+source\+\_\+generate(), edje\+\_\+edit\+\_\+print\+\_\+internal\+\_\+status(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), elm\+\_\+theme\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga9f3435de2169ee40306c0111fa1a60b6}\label{group__Eina__String__Buffer__Group_ga9f3435de2169ee40306c0111fa1a60b6}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+reset@{eina\+\_\+strbuf\+\_\+reset}}
\index{eina\+\_\+strbuf\+\_\+reset@{eina\+\_\+strbuf\+\_\+reset}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+reset()}{eina\_strbuf\_reset()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+reset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Resets a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function resets {\ttfamily buf\+:} the buffer len is set to 0, and the string data is set to \textquotesingle{}\textbackslash{}0\textquotesingle{}. No memory is freed. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by edje\+\_\+available\+\_\+modules\+\_\+get().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}\label{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append@{eina\+\_\+strbuf\+\_\+append}}
\index{eina\+\_\+strbuf\+\_\+append@{eina\+\_\+strbuf\+\_\+append}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append()}{eina\_strbuf\_append()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})}



Appends a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure such as if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily str} to {\ttfamily buf}. It computes the length of {\ttfamily str}, so is slightly slower than \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}}. If the length is known beforehand, consider using that variant.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}} 
\end{DoxySeeAlso}


Referenced by ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+strbuf\+\_\+append\+\_\+strftime(), and evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga408b371f57f35a8f5391c2e85ab28b35}\label{group__Eina__String__Buffer__Group_ga408b371f57f35a8f5391c2e85ab28b35}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+escaped@{eina\+\_\+strbuf\+\_\+append\+\_\+escaped}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+escaped@{eina\+\_\+strbuf\+\_\+append\+\_\+escaped}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+escaped()}{eina\_strbuf\_append\_escaped()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+escaped (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})}



Appends an escaped string to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function escapes and then appends the string {\ttfamily str} to {\ttfamily buf}. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga8a66b98b4c957658c87f4a79c2f1b10b}\label{group__Eina__String__Buffer__Group_ga8a66b98b4c957658c87f4a79c2f1b10b}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+n@{eina\+\_\+strbuf\+\_\+append\+\_\+n}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+n@{eina\+\_\+strbuf\+\_\+append\+\_\+n}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+n()}{eina\_strbuf\_append\_n()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+n (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{maxlen }\end{DoxyParamCaption})}



Appends a string to a buffer, reallocating as necessary, limited by the given length. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to append. \\
\hline
\mbox{\tt in}  & {\em maxlen} & The maximum number of characters to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends at most {\ttfamily maxlen} characters of {\ttfamily str} to {\ttfamily buf}. It can\textquotesingle{}t append more than the length of {\ttfamily str}. It computes the length of {\ttfamily str}, so it is slightly slower than \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}}. If the length is known beforehand, consider using that variant ({\ttfamily maxlen} should then be checked so that it is greater than the size of {\ttfamily str}).

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}\label{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+length@{eina\+\_\+strbuf\+\_\+append\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+length@{eina\+\_\+strbuf\+\_\+append\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+length()}{eina\_strbuf\_append\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{length }\end{DoxyParamCaption})}



Appends a string of exact length to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to append. \\
\hline
\mbox{\tt in}  & {\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily str} to {\ttfamily buf}. {\ttfamily str} must be of size at most {\ttfamily length}. It is slightly faster than \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} as it does not compute the size of {\ttfamily str}. It is useful when dealing with strings of known size, such as eina\+\_\+stringshare.

\begin{DoxySeeAlso}{See also}
eina\+\_\+stringshare\+\_\+length() 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8a66b98b4c957658c87f4a79c2f1b10b}{eina\+\_\+strbuf\+\_\+append\+\_\+n()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by eina\+\_\+strbuf\+\_\+append\+\_\+vprintf(), evas\+\_\+textblock\+\_\+style\+\_\+set(), and evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga919d8dbf60bdbfa71cd71b3b8345233b}\label{group__Eina__String__Buffer__Group_ga919d8dbf60bdbfa71cd71b3b8345233b}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+slice@{eina\+\_\+strbuf\+\_\+append\+\_\+slice}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+slice@{eina\+\_\+strbuf\+\_\+append\+\_\+slice}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+slice()}{eina\_strbuf\_append\_slice()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+slice (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}}}]{slice }\end{DoxyParamCaption})}



Append a slice to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em slice} & The slice to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily slice} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily slice} to {\ttfamily buf}.

\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gae6aaf2952c53d0bac97fa36f2570c15b}\label{group__Eina__String__Buffer__Group_gae6aaf2952c53d0bac97fa36f2570c15b}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+buffer@{eina\+\_\+strbuf\+\_\+append\+\_\+buffer}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+buffer@{eina\+\_\+strbuf\+\_\+append\+\_\+buffer}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+buffer()}{eina\_strbuf\_append\_buffer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+buffer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{data }\end{DoxyParamCaption})}



Appends an Eina\+\_\+\+Strbuf to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em data} & The string buffer to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily data} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily data} to {\ttfamily buf}. {\ttfamily data} must be allocated and different from {\ttfamily N\+U\+LL}. It is slightly faster than \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} as it does not compute the size of {\ttfamily str}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8a66b98b4c957658c87f4a79c2f1b10b}{eina\+\_\+strbuf\+\_\+append\+\_\+n()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaad4f562f3a36881f12a4df5154e04b26}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+9.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga8afef8fb6f9aedcd6a81603bef0c7f86}\label{group__Eina__String__Buffer__Group_ga8afef8fb6f9aedcd6a81603bef0c7f86}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+char@{eina\+\_\+strbuf\+\_\+append\+\_\+char}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+char@{eina\+\_\+strbuf\+\_\+append\+\_\+char}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+char()}{eina\_strbuf\_append\_char()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+char (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{char}]{c }\end{DoxyParamCaption})}



Appends a character to a string buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em c} & The character to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily c} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily c} to {\ttfamily buf}. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get(), elm\+\_\+theme\+\_\+get(), and evas\+\_\+textblock\+\_\+style\+\_\+set().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga436897daafadbf56f2e3d7c0d4d21040}\label{group__Eina__String__Buffer__Group_ga436897daafadbf56f2e3d7c0d4d21040}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+printf@{eina\+\_\+strbuf\+\_\+append\+\_\+printf}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+printf@{eina\+\_\+strbuf\+\_\+append\+\_\+printf}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+printf()}{eina\_strbuf\_append\_printf()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+printf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{fmt,  }\item[{}]{... }\end{DoxyParamCaption})}



Appends data elements to a buffer using printf-\/style formatting. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & A formatting string. \\
\hline
\mbox{\tt in}  & {\em ...} & Variable list of data parameters to be appended. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if formatted string could not be appended.
\end{DoxyReturn}
This function appends the string defined by the format {\ttfamily fmt} to {\ttfamily buf}, reallocating as necessary. {\ttfamily fmt} must be of a valid format for the printf family of functions.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by edje\+\_\+available\+\_\+modules\+\_\+get(), and efl\+\_\+debug\+\_\+name\+\_\+get().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga4e1679239587f6f9f1c3c27838e4e6a1}\label{group__Eina__String__Buffer__Group_ga4e1679239587f6f9f1c3c27838e4e6a1}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf()}{eina\_strbuf\_append\_vprintf()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+vprintf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{fmt,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})}



Appends data elements to a string buffer using a va\+\_\+list. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & A formatting string. \\
\hline
\mbox{\tt in}  & {\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga436897daafadbf56f2e3d7c0d4d21040}{eina\+\_\+strbuf\+\_\+append\+\_\+printf()}} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and eina\+\_\+strbuf\+\_\+append\+\_\+length().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}\label{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert@{eina\+\_\+strbuf\+\_\+insert}}
\index{eina\+\_\+strbuf\+\_\+insert@{eina\+\_\+strbuf\+\_\+insert}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert()}{eina\_strbuf\_insert()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a string into a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily str} into {\ttfamily buf} at position {\ttfamily pos}. It computes the length of {\ttfamily str}, so is slightly slower than \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}}. If the length is known beforehand, consider using that variant. 

Referenced by eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga04719a5613488bbbd17f9eb75933d2c1}\label{group__Eina__String__Buffer__Group_ga04719a5613488bbbd17f9eb75933d2c1}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+escaped@{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped@{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped()}{eina\_strbuf\_insert\_escaped()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+escaped (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts an escaped string into a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function escapes and inserts the string {\ttfamily str} into {\ttfamily buf} at position {\ttfamily pos}. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}\label{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+n@{eina\+\_\+strbuf\+\_\+insert\+\_\+n}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+n@{eina\+\_\+strbuf\+\_\+insert\+\_\+n}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+n()}{eina\_strbuf\_insert\_n()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+n (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{maxlen,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a string of a maximum length into a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to insert. \\
\hline
\mbox{\tt in}  & {\em maxlen} & The maximum number of chars to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily str} into {\ttfamily buf} at position {\ttfamily pos}, with at most {\ttfamily maxlen} bytes. The number of inserted characters cannot be greater than the length of {\ttfamily str}. It computes the length of {\ttfamily str}, so is slightly slower than \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}}. If the length is known beforehand, consider using that variant ({\ttfamily maxlen} should then be checked so that it is greater than the size of {\ttfamily str}). \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}\label{group__Eina__String__Buffer__Group_ga548eb8a66646b753cce9091051b1ea08}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+length@{eina\+\_\+strbuf\+\_\+insert\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+length@{eina\+\_\+strbuf\+\_\+insert\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}{eina\_strbuf\_insert\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{size\+\_\+t}]{length,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a string of an exact length into a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The string to insert. \\
\hline
\mbox{\tt in}  & {\em length} & The exact length to use. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily string} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily str} into {\ttfamily buf}. {\ttfamily str} must be no longer than {\ttfamily length}. It is slightly faster than \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}{eina\+\_\+strbuf\+\_\+insert()}} as it does not compute the size of {\ttfamily str}. It is useful when dealing with strings of known size, such as eina\+\_\+stringshare.

\begin{DoxySeeAlso}{See also}
eina\+\_\+stringshare\+\_\+length() 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0990bbe862fcf90e5c259a5b2c3a9a66}{eina\+\_\+strbuf\+\_\+insert()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaaf6f39311db7d7d074ea087ae4ee7c63}{eina\+\_\+strbuf\+\_\+insert\+\_\+n()}} 
\end{DoxySeeAlso}


Referenced by eina\+\_\+strbuf\+\_\+insert\+\_\+strftime().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaf08bff3ea809afef9892f845b313da10}\label{group__Eina__String__Buffer__Group_gaf08bff3ea809afef9892f845b313da10}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+slice@{eina\+\_\+strbuf\+\_\+insert\+\_\+slice}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+slice@{eina\+\_\+strbuf\+\_\+insert\+\_\+slice}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+slice()}{eina\_strbuf\_insert\_slice()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+slice (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}}}]{slice,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Insert a slice into a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em slice} & The slice to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily slice} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily slice} into {\ttfamily buf} at position {\ttfamily pos}.

\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaf019380a09f1dcf8473b64b4ff699543}\label{group__Eina__String__Buffer__Group_gaf019380a09f1dcf8473b64b4ff699543}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+char@{eina\+\_\+strbuf\+\_\+insert\+\_\+char}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+char@{eina\+\_\+strbuf\+\_\+insert\+\_\+char}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+char()}{eina\_strbuf\_insert\_char()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+char (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{char}]{c,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a character into a string buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em c} & The character to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the character. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if {\ttfamily c} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily c} into {\ttfamily buf} at position {\ttfamily pos}. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}\label{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+printf@{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+printf@{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+printf()}{eina\_strbuf\_insert\_printf()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+printf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{fmt,  }\item[{size\+\_\+t}]{pos,  }\item[{}]{... }\end{DoxyParamCaption})}



Inserts data elements into a buffer using printf-\/style formatting. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The string to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\mbox{\tt in}  & {\em ...} & Variable list of data parameters to be inserted. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} if the string could not be inserted.
\end{DoxyReturn}
This function inserts a string as described by the format {\ttfamily fmt} into {\ttfamily buf} at the position {\ttfamily pos}. {\ttfamily fmt} must be of a valid format for printf family of functions. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gae0cb598486b360b1ba06848b485d593f}\label{group__Eina__String__Buffer__Group_gae0cb598486b360b1ba06848b485d593f}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf()}{eina\_strbuf\_insert\_vprintf()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{fmt,  }\item[{size\+\_\+t}]{pos,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})}



Inserts data elements into a buffer using a va\+\_\+list. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The string to insert. \\
\hline
\mbox{\tt in}  & {\em pos} & The position to insert the string. \\
\hline
\mbox{\tt in}  & {\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and eina\+\_\+strbuf\+\_\+insert().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gac7ead92f4ce23c16b7a33d40ce3bf5cd}\label{group__Eina__String__Buffer__Group_gac7ead92f4ce23c16b7a33d40ce3bf5cd}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+remove@{eina\+\_\+strbuf\+\_\+remove}}
\index{eina\+\_\+strbuf\+\_\+remove@{eina\+\_\+strbuf\+\_\+remove}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+remove()}{eina\_strbuf\_remove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{size\+\_\+t}]{start,  }\item[{size\+\_\+t}]{end }\end{DoxyParamCaption})}



Removes a section from the given string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em start} & The initial (inclusive) byte position to start removal. \\
\hline
\mbox{\tt in}  & {\em end} & The final (non-\/inclusive) byte position to end removal. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
This function removes a slice of {\ttfamily buf}, starting at {\ttfamily start} (inclusive) and ending at {\ttfamily end} (non-\/inclusive). Both values are in bytes. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga66c7c19a2b240448fbd2dae6c6161023}\label{group__Eina__String__Buffer__Group_ga66c7c19a2b240448fbd2dae6c6161023}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+string\+\_\+get@{eina\+\_\+strbuf\+\_\+string\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+string\+\_\+get@{eina\+\_\+strbuf\+\_\+string\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+string\+\_\+get()}{eina\_strbuf\_string\_get()}}
{\footnotesize\ttfamily const char$\ast$ eina\+\_\+strbuf\+\_\+string\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Retrieves a pointer to the contents of a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current string in the string buffer.
\end{DoxyReturn}
This function returns the string contained in {\ttfamily buf}. The returned value must not be modified and will no longer be valid if {\ttfamily buf} is modified. In other words, calling \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} or similar functions will make this pointer invalid. The pointer returned by this function {\bfseries must not} be freed.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by edje\+\_\+available\+\_\+modules\+\_\+get(), edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate(), edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate(), eina\+\_\+benchmark\+\_\+run(), eldbus\+\_\+signal\+\_\+handler\+\_\+match\+\_\+extra\+\_\+vset(), eldbus\+\_\+signal\+\_\+handler\+\_\+ref(), eldbus\+\_\+signal\+\_\+handler\+\_\+unref(), and elm\+\_\+theme\+\_\+get().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}\label{group__Eina__String__Buffer__Group_ga2cd6a08bf222465ebbd30e72f9f3bfb9}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+string\+\_\+steal@{eina\+\_\+strbuf\+\_\+string\+\_\+steal}}
\index{eina\+\_\+strbuf\+\_\+string\+\_\+steal@{eina\+\_\+strbuf\+\_\+string\+\_\+steal}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}{eina\_strbuf\_string\_steal()}}
{\footnotesize\ttfamily char$\ast$ eina\+\_\+strbuf\+\_\+string\+\_\+steal (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Steals the contents of a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The string that was contained in {\ttfamily buf}.
\end{DoxyReturn}
This function returns the string contained in {\ttfamily buf}. {\ttfamily buf} is then initialized and does not own the returned string anymore. The caller must release the memory of the returned string by calling free().

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga66c7c19a2b240448fbd2dae6c6161023}{eina\+\_\+strbuf\+\_\+string\+\_\+get()}} 
\end{DoxySeeAlso}


Referenced by ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get(), edje\+\_\+edit\+\_\+full\+\_\+source\+\_\+generate(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga51b004c36c1296daede8b62f16a62af0}\label{group__Eina__String__Buffer__Group_ga51b004c36c1296daede8b62f16a62af0}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+string\+\_\+free@{eina\+\_\+strbuf\+\_\+string\+\_\+free}}
\index{eina\+\_\+strbuf\+\_\+string\+\_\+free@{eina\+\_\+strbuf\+\_\+string\+\_\+free}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+string\+\_\+free()}{eina\_strbuf\_string\_free()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+string\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Frees the contents of a string buffer but not the buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function frees the string contained in {\ttfamily buf} without freeing {\ttfamily buf}. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaa6ef2a1cb7f79070508e6bf158caeccc}\label{group__Eina__String__Buffer__Group_gaa6ef2a1cb7f79070508e6bf158caeccc}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+length\+\_\+get@{eina\+\_\+strbuf\+\_\+length\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+length\+\_\+get@{eina\+\_\+strbuf\+\_\+length\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+length\+\_\+get()}{eina\_strbuf\_length\_get()}}
{\footnotesize\ttfamily size\+\_\+t eina\+\_\+strbuf\+\_\+length\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Retrieves the length of the string buffer\textquotesingle{}s content. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current length of the string, in bytes.
\end{DoxyReturn}
This function returns the length of {\ttfamily buf}. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gab86896d681b3dc51022a0555d41f20f1}\label{group__Eina__String__Buffer__Group_gab86896d681b3dc51022a0555d41f20f1}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+replace@{eina\+\_\+strbuf\+\_\+replace}}
\index{eina\+\_\+strbuf\+\_\+replace@{eina\+\_\+strbuf\+\_\+replace}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+replace()}{eina\_strbuf\_replace()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+replace (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{const char $\ast$}]{with,  }\item[{unsigned int}]{n }\end{DoxyParamCaption})}



Replaces a substring in the buffer with another string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The text to match. \\
\hline
\mbox{\tt in}  & {\em with} & The replacement string. \\
\hline
\mbox{\tt in}  & {\em n} & The indexed occurrence to be replaced. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
This function replaces the n-\/th occurrence of {\ttfamily str} in {\ttfamily buf} with {\ttfamily with}. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gab86cdc70b13b7f6b1c168ed2b563d600}\label{group__Eina__String__Buffer__Group_gab86cdc70b13b7f6b1c168ed2b563d600}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+replace\+\_\+all@{eina\+\_\+strbuf\+\_\+replace\+\_\+all}}
\index{eina\+\_\+strbuf\+\_\+replace\+\_\+all@{eina\+\_\+strbuf\+\_\+replace\+\_\+all}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+replace\+\_\+all()}{eina\_strbuf\_replace\_all()}}
{\footnotesize\ttfamily int eina\+\_\+strbuf\+\_\+replace\+\_\+all (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{str,  }\item[{const char $\ast$}]{with }\end{DoxyParamCaption})}



Replaces all matching substrings with another string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em str} & The text to match. \\
\hline
\mbox{\tt in}  & {\em with} & The replacement string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of replacements made, or {\ttfamily 0} on failure.
\end{DoxyReturn}
This function replaces all the occurrences of {\ttfamily str} in {\ttfamily buf} with the string {\ttfamily with}. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}.\end{Desc}


Referenced by eina\+\_\+benchmark\+\_\+run().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga55635b9822580cc86900f325581fd4f9}\label{group__Eina__String__Buffer__Group_ga55635b9822580cc86900f325581fd4f9}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+trim@{eina\+\_\+strbuf\+\_\+trim}}
\index{eina\+\_\+strbuf\+\_\+trim@{eina\+\_\+strbuf\+\_\+trim}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+trim()}{eina\_strbuf\_trim()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+trim (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Trims the string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function removes whitespace at the beginning and end of the buffer\textquotesingle{}s string. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gab776bbb23bb2b2161d64c644dcaede33}\label{group__Eina__String__Buffer__Group_gab776bbb23bb2b2161d64c644dcaede33}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+ltrim@{eina\+\_\+strbuf\+\_\+ltrim}}
\index{eina\+\_\+strbuf\+\_\+ltrim@{eina\+\_\+strbuf\+\_\+ltrim}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+ltrim()}{eina\_strbuf\_ltrim()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+ltrim (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Left trims the string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function removes whitespace at the beginning of the buffer\textquotesingle{}s string. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga8a42d1a27c716bf00db38242743c8dac}\label{group__Eina__String__Buffer__Group_ga8a42d1a27c716bf00db38242743c8dac}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+rtrim@{eina\+\_\+strbuf\+\_\+rtrim}}
\index{eina\+\_\+strbuf\+\_\+rtrim@{eina\+\_\+strbuf\+\_\+rtrim}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+rtrim()}{eina\_strbuf\_rtrim()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+rtrim (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Right trims the string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function removes whitespace at the end of the buffer\textquotesingle{}s string. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaa6fbcb0fdebd3e8ec9ba466c2c7b3aaa}\label{group__Eina__String__Buffer__Group_gaa6fbcb0fdebd3e8ec9ba466c2c7b3aaa}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+tolower@{eina\+\_\+strbuf\+\_\+tolower}}
\index{eina\+\_\+strbuf\+\_\+tolower@{eina\+\_\+strbuf\+\_\+tolower}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+tolower()}{eina\_strbuf\_tolower()}}
{\footnotesize\ttfamily void eina\+\_\+strbuf\+\_\+tolower (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Converts the string to lower case. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function converts all the characters in the buffer\textquotesingle{}s string to lower case.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+str\+\_\+tolower().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga4c68ed255853465641092387f2bb14c9}\label{group__Eina__String__Buffer__Group_ga4c68ed255853465641092387f2bb14c9}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+substr\+\_\+get@{eina\+\_\+strbuf\+\_\+substr\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+substr\+\_\+get@{eina\+\_\+strbuf\+\_\+substr\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+substr\+\_\+get()}{eina\_strbuf\_substr\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}$\ast$ eina\+\_\+strbuf\+\_\+substr\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{size\+\_\+t}]{pos,  }\item[{size\+\_\+t}]{len }\end{DoxyParamCaption})}



Obtains substring from a source string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em pos} & The (0-\/based) position where the substring starts. \\
\hline
\mbox{\tt in}  & {\em len} & The length from {\ttfamily pos} that should be copied. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string buffer containing the substring, or {\ttfamily N\+U\+LL} if invalid parameters were specified.
\end{DoxyReturn}
This function creates a Eina\+\_\+\+Strbuf containing a copy of a substring of buf starting at {\ttfamily pos} with {\ttfamily len} length. If len is 0, then an empty strbuf will be returned.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+strbuf\+\_\+manage\+\_\+new().

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gacc99b95a2e9d2c03fad91f5a0f5117f2}\label{group__Eina__String__Buffer__Group_gacc99b95a2e9d2c03fad91f5a0f5117f2}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+slice\+\_\+get@{eina\+\_\+strbuf\+\_\+slice\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+slice\+\_\+get@{eina\+\_\+strbuf\+\_\+slice\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+slice\+\_\+get()}{eina\_strbuf\_slice\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} eina\+\_\+strbuf\+\_\+slice\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Gets a read-\/only slice of the buffer contents. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A read-\/only slice of the current contents. It may become invalid as soon as {\ttfamily buf} is changed.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga294b4a4951e816887178b3eb11eaa4c2}\label{group__Eina__String__Buffer__Group_ga294b4a4951e816887178b3eb11eaa4c2}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get@{eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get@{eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get()}{eina\_strbuf\_rw\_slice\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Slice__Group_gad43ea51c6434252512a3e7305cea4af3}{Eina\+\_\+\+Rw\+\_\+\+Slice}} eina\+\_\+strbuf\+\_\+rw\+\_\+slice\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Gets a read-\/write slice of the buffer contents. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A read-\/write slice for the current contents. It may become invalid as soon as the {\ttfamily buf} is changed, such as through calls like \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaded50fb52b2dda9bbfce89b7028ac23e}{eina\+\_\+strbuf\+\_\+append()}} or \mbox{\hyperlink{group__Eina__String__Buffer__Group_gac7ead92f4ce23c16b7a33d40ce3bf5cd}{eina\+\_\+strbuf\+\_\+remove()}}.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga00f3ffa2ea0516bb46e4ee6b927b062c}\label{group__Eina__String__Buffer__Group_ga00f3ffa2ea0516bb46e4ee6b927b062c}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+release@{eina\+\_\+strbuf\+\_\+release}}
\index{eina\+\_\+strbuf\+\_\+release@{eina\+\_\+strbuf\+\_\+release}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+release()}{eina\_strbuf\_release()}}
{\footnotesize\ttfamily char$\ast$ eina\+\_\+strbuf\+\_\+release (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf }\end{DoxyParamCaption})}



Frees the buffer, returning its old contents. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The string contained by buf. The caller must release the memory of the returned string by calling free().
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga7bac4d44b2effd570224809ab83f3008}\label{group__Eina__String__Buffer__Group_ga7bac4d44b2effd570224809ab83f3008}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+strftime@{eina\+\_\+strbuf\+\_\+append\+\_\+strftime}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+strftime@{eina\+\_\+strbuf\+\_\+append\+\_\+strftime}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+append\+\_\+strftime()}{eina\_strbuf\_append\_strftime()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+append\+\_\+strftime (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{fmt,  }\item[{const struct tm $\ast$}]{tm }\end{DoxyParamCaption})}



Appends a strftime-\/style timestamp to the buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The formatting string. \\
\hline
\mbox{\tt in}  & {\em tm} & The time value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
This function appends a timestamp to the buffer, formatted using strftime. A string of the exact size required by strftime\textquotesingle{}s output is added to the end.

Example usage\+: 
\begin{DoxyCode}
time\_t curr\_time;
\textcolor{keyword}{struct }tm *info;
\mbox{\hyperlink{struct__Eina__Strbuf}{Eina\_Strbuf}} *buf = \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}{eina\_strbuf\_new}}();
curr\_time = time(NULL);
info = localtime(&curr\_time);
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7bac4d44b2effd570224809ab83f3008}{eina\_strbuf\_append\_strftime}}(buf, \textcolor{stringliteral}{"%I:%M%p"}, info);
\textcolor{comment}{//after use}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\_strbuf\_free}}(buf);
\end{DoxyCode}


\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+strbuf\+\_\+append(), eina\+\_\+strftime(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}\label{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}} 
\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+strftime@{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime@{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime}!String Buffer@{String Buffer}}
\subsubsection{\texorpdfstring{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime()}{eina\_strbuf\_insert\_strftime()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+insert\+\_\+strftime (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$}]{buf,  }\item[{const char $\ast$}]{fmt,  }\item[{const struct tm $\ast$}]{tm,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a strftime-\/style timestamp into the buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em buf} & The string buffer. \\
\hline
\mbox{\tt in}  & {\em fmt} & The formatting string. \\
\hline
\mbox{\tt in}  & {\em tm} & The time value. \\
\hline
\mbox{\tt in}  & {\em pos} & The position in the buffer to insert the timestamp. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
This function inserts a timestamp into the buffer, formatted using strftime. The buffer\textquotesingle{}s length will be increased by the exact amount required by strftime\textquotesingle{}s output.

Example usage\+: 
\begin{DoxyCode}
time\_t curr\_time;
\textcolor{keyword}{struct }tm *info;
\mbox{\hyperlink{struct__Eina__Strbuf}{Eina\_Strbuf}} *buf = \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}{eina\_strbuf\_new}}();
curr\_time = time(NULL);
info = localtime(&curr\_time);
\mbox{\hyperlink{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}{eina\_strbuf\_insert\_strftime}}(buf, \textcolor{stringliteral}{"%I:%M%p"}, info, 2);
\textcolor{comment}{//after use}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\_strbuf\_free}}(buf);
\end{DoxyCode}


\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+strbuf\+\_\+insert\+\_\+length(), eina\+\_\+strftime(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

