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


These functions provide string buffer management.  


\doxysubsection*{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, \#\# \+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)
\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}
\doxysubsection*{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}
\doxysubsection*{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}{EINA\+\_\+\+PRINTF}}(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}{EINA\+\_\+\+PRINTF}}(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 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga38918c705c3041e16923275681702378}{eina\+\_\+strbuf\+\_\+replace\+\_\+last}} (\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 the last occurrence of a substring 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}


\doxysubsection{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}}. 

\doxysubsection{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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\mbox{\texttt{ in}}  & {\em maxlen} & The maximum number of chars to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em c} & The character to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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, \#\# \+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The string to prepend. \\
\hline
\mbox{\texttt{ in}}  & {\em ...} & Variable list of data elements to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The string to prepend. \\
\hline
\mbox{\texttt{ in}}  & {\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The text to match. \\
\hline
\mbox{\texttt{ in}}  & {\em with} & The replacement string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}. \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+c}}.\end{Desc}
\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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The formatting string. \\
\hline
\mbox{\texttt{ in}}  & {\em tm} & The time value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}


\doxysubsection{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}}
\doxysubsubsection{\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 NULL} 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}}, and \mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+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\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set(), eeze\+\_\+disk\+\_\+eject(), eeze\+\_\+disk\+\_\+mount(), eeze\+\_\+disk\+\_\+unmount(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get(), elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set(), 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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em str} & The string to manage. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily NULL} 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, and its ownership will transfer to Eina\+\_\+\+Strbuf(do not free it with free()). 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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em str} & The string to manage. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily NULL} 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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em str} & The string to manage. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily NULL} 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}}
\doxysubsubsection{\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{\texttt{ 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}}, and \mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+c}}.\end{Desc}


Referenced by ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+add(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+del(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+val\+\_\+set(), 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(), edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set(), eeze\+\_\+disk\+\_\+free(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get(), elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set(), 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}}
\doxysubsubsection{\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{\texttt{ 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(), and evas\+\_\+textblock\+\_\+style\+\_\+set().

\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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+c}}.\end{Desc}


Referenced by ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get(), edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+strbuf\+\_\+append\+\_\+strftime(), elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get(), elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set(), 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\mbox{\texttt{ in}}  & {\em maxlen} & The maximum number of characters to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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 edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set(), eina\+\_\+strbuf\+\_\+append\+\_\+vprintf(), elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get(), 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em slice} & The slice to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The string buffer to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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 NULL}. 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em c} & The character to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & A formatting string. \\
\hline
\mbox{\texttt{ in}}  & {\em ...} & Variable list of data parameters to be appended. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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(), eeze\+\_\+disk\+\_\+eject(), eeze\+\_\+disk\+\_\+mount(), eeze\+\_\+disk\+\_\+unmount(), and eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald().

\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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & A formatting string. \\
\hline
\mbox{\texttt{ in}}  & {\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga436897daafadbf56f2e3d7c0d4d21040}{eina\+\_\+strbuf\+\_\+append\+\_\+printf()}} 
\end{DoxySeeAlso}


References EINA\+\_\+\+FALSE, 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em maxlen} & The maximum number of chars to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The exact length to use. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em slice} & The slice to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em c} & The character to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the character. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\mbox{\texttt{ in}}  & {\em ...} & Variable list of data parameters to be inserted. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\mbox{\texttt{ in}}  & {\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga8dca9fa4f4d792e32ab0b3b3542de8ab}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}} 
\end{DoxySeeAlso}


References EINA\+\_\+\+FALSE, 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em start} & The initial (inclusive) byte position to start removal. \\
\hline
\mbox{\texttt{ 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}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}}
\doxysubsubsection{\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{\texttt{ 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}}, and \mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+c}}.\end{Desc}


Referenced by ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+add(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+del(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+val\+\_\+set(), edje\+\_\+available\+\_\+modules\+\_\+get(), edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate(), edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate(), edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set(), eeze\+\_\+disk\+\_\+eject(), eeze\+\_\+disk\+\_\+unmount(), eina\+\_\+benchmark\+\_\+run(), eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald(), eldbus\+\_\+signal\+\_\+handler\+\_\+match\+\_\+extra\+\_\+vset(), eldbus\+\_\+signal\+\_\+handler\+\_\+ref(), eldbus\+\_\+signal\+\_\+handler\+\_\+unref(), elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set(), elm\+\_\+theme\+\_\+get(), and evas\+\_\+textblock\+\_\+style\+\_\+set().

\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}}
\doxysubsubsection{\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{\texttt{ 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(), elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function frees the string contained in {\ttfamily buf} without freeing {\ttfamily buf}. 

Referenced by eeze\+\_\+disk\+\_\+mount(), and eeze\+\_\+disk\+\_\+unmount().

\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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The text to match. \\
\hline
\mbox{\texttt{ in}}  & {\em with} & The replacement string. \\
\hline
\mbox{\texttt{ in}}  & {\em n} & The indexed occurrence to be replaced. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure.
\end{DoxyReturn}
This function replaces the n-\/th occurrence of {\ttfamily str} in {\ttfamily buf} with {\ttfamily with}. 

References EINA\+\_\+\+FALSE, EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, EINA\+\_\+\+TRUE, and EINA\+\_\+\+UNLIKELY.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga38918c705c3041e16923275681702378}\label{group__Eina__String__Buffer__Group_ga38918c705c3041e16923275681702378}} 
\index{String Buffer@{String Buffer}!eina\_strbuf\_replace\_last@{eina\_strbuf\_replace\_last}}
\index{eina\_strbuf\_replace\_last@{eina\_strbuf\_replace\_last}!String Buffer@{String Buffer}}
\doxysubsubsection{\texorpdfstring{eina\_strbuf\_replace\_last()}{eina\_strbuf\_replace\_last()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+strbuf\+\_\+replace\+\_\+last (\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 the last occurrence of a substring with another string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The text to match. \\
\hline
\mbox{\texttt{ in}}  & {\em with} & The replacement string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure.
\end{DoxyReturn}
This function replaces the last occurrence of {\ttfamily str} in {\ttfamily buf} with {\ttfamily with}. 

References EINA\+\_\+\+FALSE, EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, EINA\+\_\+\+TRUE, and EINA\+\_\+\+UNLIKELY.

\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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The text to match. \\
\hline
\mbox{\texttt{ 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}


References EINA\+\_\+\+FALSE, EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, and EINA\+\_\+\+UNLIKELY.



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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The (0-\/based) position where the substring starts. \\
\hline
\mbox{\texttt{ 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 NULL} 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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ 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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The formatting string. \\
\hline
\mbox{\texttt{ in}}  & {\em tm} & The time value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}{0}
\DoxyCodeLine{time\_t curr\_time;}
\DoxyCodeLine{\textcolor{keyword}{struct }tm *info;}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Strbuf}{Eina\_Strbuf}} *buf = \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}{eina\_strbuf\_new}}();}
\DoxyCodeLine{curr\_time = time(NULL);}
\DoxyCodeLine{info = localtime(\&curr\_time);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7bac4d44b2effd570224809ab83f3008}{eina\_strbuf\_append\_strftime}}(buf, \textcolor{stringliteral}{"{}\%I:\%M\%p"{}}, info);}
\DoxyCodeLine{\textcolor{comment}{//after use}}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\_strbuf\_free}}(buf);}

\end{DoxyCode}


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


References EINA\+\_\+\+FALSE, eina\+\_\+strbuf\+\_\+append(), eina\+\_\+strftime(), and EINA\+\_\+\+TRUE.

\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}}
\doxysubsubsection{\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{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em fmt} & The formatting string. \\
\hline
\mbox{\texttt{ in}}  & {\em tm} & The time value. \\
\hline
\mbox{\texttt{ 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}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} 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}{0}
\DoxyCodeLine{time\_t curr\_time;}
\DoxyCodeLine{\textcolor{keyword}{struct }tm *info;}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Strbuf}{Eina\_Strbuf}} *buf = \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6f3c9ce942e61364a10ec7c0ea01cedc}{eina\_strbuf\_new}}();}
\DoxyCodeLine{curr\_time = time(NULL);}
\DoxyCodeLine{info = localtime(\&curr\_time);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_gad32c3f2072b3d7d46372bf76a071e079}{eina\_strbuf\_insert\_strftime}}(buf, \textcolor{stringliteral}{"{}\%I:\%M\%p"{}}, info, 2);}
\DoxyCodeLine{\textcolor{comment}{//after use}}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga482e9f90bc8e0e17811e825975a2ba85}{eina\_strbuf\_free}}(buf);}

\end{DoxyCode}


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


References EINA\+\_\+\+FALSE, eina\+\_\+strbuf\+\_\+insert\+\_\+length(), eina\+\_\+strftime(), and EINA\+\_\+\+TRUE.

