\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_ga3054e3bea2731094bfc5d8aaac4c08f5}{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_gac956e556785513d2d76642982ace57fc}{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_ga1a5ee34e6562496241f66ad05864201c}{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_ga3e75e4d900daf01ad1483edbd40671c2}{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_ga0d38333e77af03b019bec694f7b237eb}{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, ...)~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_ga5813caa2b9198b96503a110e864b9aa5}{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_ga60cf5318a42915980a67d27bd8af5f3c}{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_ga2b057ac2bb4cc69161ad743c782ee494}{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}} {\bfseries 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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga13277ebcc07defa040d6e92f22774031}{eina\+\_\+strbuf\+\_\+new}} (void)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga85388a3a1206c6d6cbfbd5806e9ef27c}{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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_gad2906fa4914462211ce5c99b7a9a2658}{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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga1f6ff5b582b29b4d4ec9e188f96fb8d8}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga88d8da6589bad44714ad9e47aaa1992b}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga43f27247b21aa3ca82d26ec6d66eeb47}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gad476e89a04c3f1571e3628facd4319bb}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga097411cd0edbf76c58a48e8b6b4814a7}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae6f1cded23998b85a898b2f216b400f1}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga6352f0ccef0ba7b5fae27fb52f3dc743}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaf54f4f2e731a747835d9e998e93f1672}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga5683cd7f0a499065d99cc0de4d393265}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga869da7f5918ec99e996fe4ecb19ac1d0}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gabfe672d0414265ec155fd7599db02ed1}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga3054e3bea2731094bfc5d8aaac4c08f5}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gac956e556785513d2d76642982ace57fc}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga1a5ee34e6562496241f66ad05864201c}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga3e75e4d900daf01ad1483edbd40671c2}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga94557ef8c72c2ebf555f9e636b7f4f91}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0d38333e77af03b019bec694f7b237eb}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga803b160a27569f75275171204daa2556}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga5813caa2b9198b96503a110e864b9aa5}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_gafc75dce22b1af29f7a3f1b6ecf505fc9}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} const char $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_gafd020a4f5483d73741c9d1b6d44b24d5}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} char $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7b0e6d5602d5711a208a585134b3387f}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaa4193180f6805fff997cd7d1ed66683c}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} size\+\_\+t \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga001e098d7021494e8980c6db0605f3f0}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga60cf5318a42915980a67d27bd8af5f3c}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga9e7c2a96ed195361cacd75077a3167db}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__String__Buffer__Group_gade7cf2d9653035e8362b85720df9214c}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga3ee4c5103e0b9b509c385bce0ee1e2a6}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae5a9e80562c901e255c33b85de17c100}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga983f02c22cb9ad843d2677e930a230cd}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__String__Buffer__Group_gac070cb3adc8b4ae2a0aa5e1587fca90c}{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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}} $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae656aff3c5c7fb271b78a22bb37294b8}{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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga0992b52457bc75283fe21fbfe1f26255}{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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Slice__Group_gad43ea51c6434252512a3e7305cea4af3}{Eina\+\_\+\+Rw\+\_\+\+Slice}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga186e1bdd5d4641b0ab2a94be5b19595f}{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 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} char $\ast$ \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga47e2c91172ca2f0872f6d32319052c20}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7e21750962c232abc24ba6efb97c2596}{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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2b057ac2bb4cc69161ad743c782ee494}{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_ga3054e3bea2731094bfc5d8aaac4c08f5}{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_ga3054e3bea2731094bfc5d8aaac4c08f5}{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_gac956e556785513d2d76642982ace57fc}{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_gac956e556785513d2d76642982ace57fc}{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_ga1a5ee34e6562496241f66ad05864201c}{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_ga1a5ee34e6562496241f66ad05864201c}{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_ga3e75e4d900daf01ad1483edbd40671c2}{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_ga3e75e4d900daf01ad1483edbd40671c2}{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_ga0d38333e77af03b019bec694f7b237eb}{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_ga0d38333e77af03b019bec694f7b237eb}{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})~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_ga803b160a27569f75275171204daa2556}{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_ga5813caa2b9198b96503a110e864b9aa5}{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_ga5813caa2b9198b96503a110e864b9aa5}{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_ga60cf5318a42915980a67d27bd8af5f3c}{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_ga60cf5318a42915980a67d27bd8af5f3c}{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_ga2b057ac2bb4cc69161ad743c782ee494}{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_ga2b057ac2bb4cc69161ad743c782ee494}{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime()}} with position 0.

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


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga13277ebcc07defa040d6e92f22774031}\label{group__Eina__String__Buffer__Group_ga13277ebcc07defa040d6e92f22774031}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga88d8da6589bad44714ad9e47aaa1992b}{eina\+\_\+strbuf\+\_\+free()}}.

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

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

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gafd020a4f5483d73741c9d1b6d44b24d5}{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 \mbox{\hyperlink{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get()}}, \mbox{\hyperlink{group__Edje__General__Group_ga3ad1025c24e7262cf489afb042171b43}{edje\+\_\+available\+\_\+modules\+\_\+get()}}, \mbox{\hyperlink{Edje__Edit_8h_abcdc90c63044bb4b9b74c3893967ac18}{edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{Edje__Edit_8h_a01e2824969f81c58a97f063f31c0918c}{edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{group__Edje__General__Group_ga1c9c6594f38023c29fbfb2d0c8c675db}{edje\+\_\+init()}}, \mbox{\hyperlink{group__Edje__Object__Part_ga40f70fa7d7b6eac8031ceac1ec0f64bf}{edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set()}}, \mbox{\hyperlink{group__Eeze__Disk_ga45173ebbd5c0861b57a433bc67d9f4b2}{eeze\+\_\+disk\+\_\+eject()}}, \mbox{\hyperlink{group__Eeze__Disk_ga629653a78f2a7e9a9996d4f346dbcc16}{eeze\+\_\+disk\+\_\+mount()}}, \mbox{\hyperlink{group__Eeze__Disk_gae3b4fe79fad40e303ad649e404e03245}{eeze\+\_\+disk\+\_\+unmount()}}, \mbox{\hyperlink{group__Eina__Benchmark__Group_ga0375144e67c0f4ca6f687236bc845cfe}{eina\+\_\+benchmark\+\_\+run()}}, \mbox{\hyperlink{group__Eina__Log__Group_ga9ff66affbfdd5e666fb8bb7607a91f1d}{eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald()}}, \mbox{\hyperlink{group__Eina__Simple__XML__Group_gad3a67f3e6b412aa236ef7cd7d8f707c5}{eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump()}}, \mbox{\hyperlink{group__Elm__App_gab10cf98c5aa3936dfda01d6bca366d09}{elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()}}, \mbox{\hyperlink{group__Elm__Textpath__Group_ga4236f99e8724bdca96d97c52925f2a27}{elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set()}}, \mbox{\hyperlink{group__Elm__Theme_ga2821e0f148c0392a990f97005541cef9}{elm\+\_\+theme\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga16f2d4d29756e0bd620728cd4733de51}{evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac1eba53b59d453d6be853fe311e06c7f}{evas\+\_\+textblock\+\_\+style\+\_\+set()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaeefdb6e8343d995fae11331ea048fb3b}{evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga44f44d3c0629a8d398ec0396037fcb09}{evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga85388a3a1206c6d6cbfbd5806e9ef27c}\label{group__Eina__String__Buffer__Group_ga85388a3a1206c6d6cbfbd5806e9ef27c}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga7b0e6d5602d5711a208a585134b3387f}{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}}. The passed string must be malloc\textquotesingle{}d, and its ownership will transfer to \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf(do not free it with free())}}. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga88d8da6589bad44714ad9e47aaa1992b}{eina\+\_\+strbuf\+\_\+free()}}.

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

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

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


Referenced by \mbox{\hyperlink{group__Eina__String__Buffer__Group_gae656aff3c5c7fb271b78a22bb37294b8}{eina\+\_\+strbuf\+\_\+substr\+\_\+get()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gad2906fa4914462211ce5c99b7a9a2658}\label{group__Eina__String__Buffer__Group_gad2906fa4914462211ce5c99b7a9a2658}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga7b0e6d5602d5711a208a585134b3387f}{eina\+\_\+strbuf\+\_\+string\+\_\+steal()}}. The passed string must be malloc\textquotesingle{}d. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga88d8da6589bad44714ad9e47aaa1992b}{eina\+\_\+strbuf\+\_\+free()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga85388a3a1206c6d6cbfbd5806e9ef27c}{eina\+\_\+strbuf\+\_\+manage\+\_\+new()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga1f6ff5b582b29b4d4ec9e188f96fb8d8}\label{group__Eina__String__Buffer__Group_ga1f6ff5b582b29b4d4ec9e188f96fb8d8}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga7b0e6d5602d5711a208a585134b3387f}{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_gad2906fa4914462211ce5c99b7a9a2658}{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length()}}. To free the resources, use \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga88d8da6589bad44714ad9e47aaa1992b}{eina\+\_\+strbuf\+\_\+free()}}.

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

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gad2906fa4914462211ce5c99b7a9a2658}{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_ga88d8da6589bad44714ad9e47aaa1992b}\label{group__Eina__String__Buffer__Group_ga88d8da6589bad44714ad9e47aaa1992b}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_ga13277ebcc07defa040d6e92f22774031}{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 \mbox{\hyperlink{group__Ecore__Evas__Group_ga73f609f5aa459552527fc5775779e4da}{ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+add()}}, \mbox{\hyperlink{group__Ecore__Evas__Group_ga8a37d58727bbe7cf4dea4cdb3816e4da}{ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+del()}}, \mbox{\hyperlink{group__Ecore__Evas__Group_gae4d1795b7eef4e19281e5245ae28ebc0}{ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+val\+\_\+set()}}, \mbox{\hyperlink{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get()}}, \mbox{\hyperlink{group__Edje__General__Group_ga3ad1025c24e7262cf489afb042171b43}{edje\+\_\+available\+\_\+modules\+\_\+get()}}, \mbox{\hyperlink{Edje__Edit_8h_abcdc90c63044bb4b9b74c3893967ac18}{edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{Edje__Edit_8h_a01e2824969f81c58a97f063f31c0918c}{edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{Edje__Edit_8h_a032c1a170769022b59a2e89c242ceef9}{edje\+\_\+edit\+\_\+full\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{Edje__Edit_8h_a08beedd62a25ae24babf679293d145a6}{edje\+\_\+edit\+\_\+print\+\_\+internal\+\_\+status()}}, \mbox{\hyperlink{group__Edje__General__Group_ga1c9c6594f38023c29fbfb2d0c8c675db}{edje\+\_\+init()}}, \mbox{\hyperlink{group__Edje__Object__Part_ga40f70fa7d7b6eac8031ceac1ec0f64bf}{edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set()}}, \mbox{\hyperlink{group__Eeze__Disk_gac3061cc01944ac6745ef009ff6c97297}{eeze\+\_\+disk\+\_\+free()}}, \mbox{\hyperlink{group__Eina__Benchmark__Group_ga0375144e67c0f4ca6f687236bc845cfe}{eina\+\_\+benchmark\+\_\+run()}}, \mbox{\hyperlink{group__Eina__Log__Group_ga9ff66affbfdd5e666fb8bb7607a91f1d}{eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald()}}, \mbox{\hyperlink{group__Eina__Simple__XML__Group_gad3a67f3e6b412aa236ef7cd7d8f707c5}{eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump()}}, \mbox{\hyperlink{group__Elm__App_gab10cf98c5aa3936dfda01d6bca366d09}{elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()}}, \mbox{\hyperlink{group__Elm__Textpath__Group_ga4236f99e8724bdca96d97c52925f2a27}{elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set()}}, \mbox{\hyperlink{group__Elm__Theme_ga2821e0f148c0392a990f97005541cef9}{elm\+\_\+theme\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga16f2d4d29756e0bd620728cd4733de51}{evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac1eba53b59d453d6be853fe311e06c7f}{evas\+\_\+textblock\+\_\+style\+\_\+set()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaeefdb6e8343d995fae11331ea048fb3b}{evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga44f44d3c0629a8d398ec0396037fcb09}{evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga43f27247b21aa3ca82d26ec6d66eeb47}\label{group__Eina__String__Buffer__Group_ga43f27247b21aa3ca82d26ec6d66eeb47}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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 \mbox{\hyperlink{group__Edje__General__Group_ga3ad1025c24e7262cf489afb042171b43}{edje\+\_\+available\+\_\+modules\+\_\+get()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac1eba53b59d453d6be853fe311e06c7f}{evas\+\_\+textblock\+\_\+style\+\_\+set()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gad476e89a04c3f1571e3628facd4319bb}\label{group__Eina__String__Buffer__Group_gad476e89a04c3f1571e3628facd4319bb}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gaafc0d73b12be5e1953cf1a417560cbea}{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_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+c}}.\end{Desc}


Referenced by \mbox{\hyperlink{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get()}}, \mbox{\hyperlink{group__Edje__Object__Part_ga40f70fa7d7b6eac8031ceac1ec0f64bf}{edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set()}}, \mbox{\hyperlink{group__Eeze__Disk_ga629653a78f2a7e9a9996d4f346dbcc16}{eeze\+\_\+disk\+\_\+mount()}}, \mbox{\hyperlink{group__Eina__Benchmark__Group_ga0375144e67c0f4ca6f687236bc845cfe}{eina\+\_\+benchmark\+\_\+run()}}, \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7e21750962c232abc24ba6efb97c2596}{eina\+\_\+strbuf\+\_\+append\+\_\+strftime()}}, \mbox{\hyperlink{group__Elm__App_gab10cf98c5aa3936dfda01d6bca366d09}{elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()}}, \mbox{\hyperlink{group__Elm__Textpath__Group_ga4236f99e8724bdca96d97c52925f2a27}{elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaeefdb6e8343d995fae11331ea048fb3b}{evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga097411cd0edbf76c58a48e8b6b4814a7}\label{group__Eina__String__Buffer__Group_ga097411cd0edbf76c58a48e8b6b4814a7}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gae6f1cded23998b85a898b2f216b400f1}\label{group__Eina__String__Buffer__Group_gae6f1cded23998b85a898b2f216b400f1}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gaafc0d73b12be5e1953cf1a417560cbea}{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_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}\label{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gad476e89a04c3f1571e3628facd4319bb}{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_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}} 

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gae6f1cded23998b85a898b2f216b400f1}{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 \mbox{\hyperlink{group__Edje__Object__Part_ga40f70fa7d7b6eac8031ceac1ec0f64bf}{edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set()}}, \mbox{\hyperlink{group__Eina__String__Buffer__Group_gabfe672d0414265ec155fd7599db02ed1}{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf()}}, \mbox{\hyperlink{group__Elm__App_gab10cf98c5aa3936dfda01d6bca366d09}{elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac1eba53b59d453d6be853fe311e06c7f}{evas\+\_\+textblock\+\_\+style\+\_\+set()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaeefdb6e8343d995fae11331ea048fb3b}{evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga6352f0ccef0ba7b5fae27fb52f3dc743}\label{group__Eina__String__Buffer__Group_ga6352f0ccef0ba7b5fae27fb52f3dc743}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gaf54f4f2e731a747835d9e998e93f1672}\label{group__Eina__String__Buffer__Group_gaf54f4f2e731a747835d9e998e93f1672}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}} as it does not compute the size of {\ttfamily str}.

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

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

\mbox{\hyperlink{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+9.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga5683cd7f0a499065d99cc0de4d393265}\label{group__Eina__String__Buffer__Group_ga5683cd7f0a499065d99cc0de4d393265}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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 \mbox{\hyperlink{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get()}}, \mbox{\hyperlink{group__Elm__Theme_ga2821e0f148c0392a990f97005541cef9}{elm\+\_\+theme\+\_\+get()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac1eba53b59d453d6be853fe311e06c7f}{evas\+\_\+textblock\+\_\+style\+\_\+set()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga869da7f5918ec99e996fe4ecb19ac1d0}\label{group__Eina__String__Buffer__Group_ga869da7f5918ec99e996fe4ecb19ac1d0}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gabfe672d0414265ec155fd7599db02ed1}\label{group__Eina__String__Buffer__Group_gabfe672d0414265ec155fd7599db02ed1}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga869da7f5918ec99e996fe4ecb19ac1d0}{eina\+\_\+strbuf\+\_\+append\+\_\+printf()}} 
\end{DoxySeeAlso}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__String__Buffer__Group_gaafc0d73b12be5e1953cf1a417560cbea}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga3054e3bea2731094bfc5d8aaac4c08f5}\label{group__Eina__String__Buffer__Group_ga3054e3bea2731094bfc5d8aaac4c08f5}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga3e75e4d900daf01ad1483edbd40671c2}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}}. If the length is known beforehand, consider using that variant. 

Referenced by \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga5813caa2b9198b96503a110e864b9aa5}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gac956e556785513d2d76642982ace57fc}\label{group__Eina__String__Buffer__Group_gac956e556785513d2d76642982ace57fc}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga1a5ee34e6562496241f66ad05864201c}\label{group__Eina__String__Buffer__Group_ga1a5ee34e6562496241f66ad05864201c}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga3e75e4d900daf01ad1483edbd40671c2}{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_ga3e75e4d900daf01ad1483edbd40671c2}\label{group__Eina__String__Buffer__Group_ga3e75e4d900daf01ad1483edbd40671c2}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga3054e3bea2731094bfc5d8aaac4c08f5}{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_ga3054e3bea2731094bfc5d8aaac4c08f5}{eina\+\_\+strbuf\+\_\+insert()}} 

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


Referenced by \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2b057ac2bb4cc69161ad743c782ee494}{eina\+\_\+strbuf\+\_\+insert\+\_\+strftime()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga94557ef8c72c2ebf555f9e636b7f4f91}\label{group__Eina__String__Buffer__Group_ga94557ef8c72c2ebf555f9e636b7f4f91}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga0d38333e77af03b019bec694f7b237eb}\label{group__Eina__String__Buffer__Group_ga0d38333e77af03b019bec694f7b237eb}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga803b160a27569f75275171204daa2556}\label{group__Eina__String__Buffer__Group_ga803b160a27569f75275171204daa2556}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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. \mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga5813caa2b9198b96503a110e864b9aa5}\label{group__Eina__String__Buffer__Group_ga5813caa2b9198b96503a110e864b9aa5}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga803b160a27569f75275171204daa2556}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}} 
\end{DoxySeeAlso}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga3054e3bea2731094bfc5d8aaac4c08f5}{eina\+\_\+strbuf\+\_\+insert()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gafc75dce22b1af29f7a3f1b6ecf505fc9}\label{group__Eina__String__Buffer__Group_gafc75dce22b1af29f7a3f1b6ecf505fc9}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gafd020a4f5483d73741c9d1b6d44b24d5}\label{group__Eina__String__Buffer__Group_gafd020a4f5483d73741c9d1b6d44b24d5}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_gad476e89a04c3f1571e3628facd4319bb}{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_ga7b0e6d5602d5711a208a585134b3387f}{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 \mbox{\hyperlink{group__Ecore__Evas__Group_ga73f609f5aa459552527fc5775779e4da}{ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+add()}}, \mbox{\hyperlink{group__Ecore__Evas__Group_ga8a37d58727bbe7cf4dea4cdb3816e4da}{ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+del()}}, \mbox{\hyperlink{group__Ecore__Evas__Group_gae4d1795b7eef4e19281e5245ae28ebc0}{ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+val\+\_\+set()}}, \mbox{\hyperlink{group__Edje__General__Group_ga3ad1025c24e7262cf489afb042171b43}{edje\+\_\+available\+\_\+modules\+\_\+get()}}, \mbox{\hyperlink{Edje__Edit_8h_abcdc90c63044bb4b9b74c3893967ac18}{edje\+\_\+edit\+\_\+color\+\_\+classes\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{Edje__Edit_8h_a01e2824969f81c58a97f063f31c0918c}{edje\+\_\+edit\+\_\+data\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{group__Edje__General__Group_ga1c9c6594f38023c29fbfb2d0c8c675db}{edje\+\_\+init()}}, \mbox{\hyperlink{group__Edje__Object__Part_ga40f70fa7d7b6eac8031ceac1ec0f64bf}{edje\+\_\+object\+\_\+part\+\_\+text\+\_\+escaped\+\_\+set()}}, \mbox{\hyperlink{group__Eeze__Disk_ga45173ebbd5c0861b57a433bc67d9f4b2}{eeze\+\_\+disk\+\_\+eject()}}, \mbox{\hyperlink{group__Eeze__Disk_ga629653a78f2a7e9a9996d4f346dbcc16}{eeze\+\_\+disk\+\_\+mount()}}, \mbox{\hyperlink{group__Eeze__Disk_gae3b4fe79fad40e303ad649e404e03245}{eeze\+\_\+disk\+\_\+unmount()}}, \mbox{\hyperlink{group__Eina__Benchmark__Group_ga0375144e67c0f4ca6f687236bc845cfe}{eina\+\_\+benchmark\+\_\+run()}}, \mbox{\hyperlink{group__Eina__Log__Group_ga9ff66affbfdd5e666fb8bb7607a91f1d}{eina\+\_\+log\+\_\+print\+\_\+cb\+\_\+journald()}}, \mbox{\hyperlink{group__Eldbus__Signal__Handler_gaa2c32c046b21c5474a2f9eccf5bb8dc2}{eldbus\+\_\+signal\+\_\+handler\+\_\+match\+\_\+extra\+\_\+vset()}}, \mbox{\hyperlink{group__Eldbus__Signal__Handler_ga6e69b38a5b06d5f71d6583128753d879}{eldbus\+\_\+signal\+\_\+handler\+\_\+ref()}}, \mbox{\hyperlink{group__Eldbus__Signal__Handler_ga1b39e54fb712220f3e699d1ca9c6c919}{eldbus\+\_\+signal\+\_\+handler\+\_\+unref()}}, \mbox{\hyperlink{group__Elm__Textpath__Group_ga4236f99e8724bdca96d97c52925f2a27}{elm\+\_\+textpath\+\_\+text\+\_\+user\+\_\+style\+\_\+set()}}, \mbox{\hyperlink{group__Elm__Theme_ga2821e0f148c0392a990f97005541cef9}{elm\+\_\+theme\+\_\+get()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac1eba53b59d453d6be853fe311e06c7f}{evas\+\_\+textblock\+\_\+style\+\_\+set()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga7b0e6d5602d5711a208a585134b3387f}\label{group__Eina__String__Buffer__Group_ga7b0e6d5602d5711a208a585134b3387f}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_gafd020a4f5483d73741c9d1b6d44b24d5}{eina\+\_\+strbuf\+\_\+string\+\_\+get()}} 
\end{DoxySeeAlso}


Referenced by \mbox{\hyperlink{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get()}}, \mbox{\hyperlink{Edje__Edit_8h_a032c1a170769022b59a2e89c242ceef9}{edje\+\_\+edit\+\_\+full\+\_\+source\+\_\+generate()}}, \mbox{\hyperlink{group__Eina__Simple__XML__Group_gad3a67f3e6b412aa236ef7cd7d8f707c5}{eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump()}}, \mbox{\hyperlink{group__Elm__App_gab10cf98c5aa3936dfda01d6bca366d09}{elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga16f2d4d29756e0bd620728cd4733de51}{evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaeefdb6e8343d995fae11331ea048fb3b}{evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga44f44d3c0629a8d398ec0396037fcb09}{evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gaa4193180f6805fff997cd7d1ed66683c}\label{group__Eina__String__Buffer__Group_gaa4193180f6805fff997cd7d1ed66683c}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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 \mbox{\hyperlink{group__Eeze__Disk_ga629653a78f2a7e9a9996d4f346dbcc16}{eeze\+\_\+disk\+\_\+mount()}}, and \mbox{\hyperlink{group__Eeze__Disk_gae3b4fe79fad40e303ad649e404e03245}{eeze\+\_\+disk\+\_\+unmount()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga001e098d7021494e8980c6db0605f3f0}\label{group__Eina__String__Buffer__Group_ga001e098d7021494e8980c6db0605f3f0}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_ga60cf5318a42915980a67d27bd8af5f3c}\label{group__Eina__String__Buffer__Group_ga60cf5318a42915980a67d27bd8af5f3c}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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 \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{EINA\+\_\+\+UNLIKELY}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga9e7c2a96ed195361cacd75077a3167db}\label{group__Eina__String__Buffer__Group_ga9e7c2a96ed195361cacd75077a3167db}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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 \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{EINA\+\_\+\+UNLIKELY}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gade7cf2d9653035e8362b85720df9214c}\label{group__Eina__String__Buffer__Group_gade7cf2d9653035e8362b85720df9214c}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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 \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{EINA\+\_\+\+UNLIKELY}}.



Referenced by \mbox{\hyperlink{group__Eina__Benchmark__Group_ga0375144e67c0f4ca6f687236bc845cfe}{eina\+\_\+benchmark\+\_\+run()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga3ee4c5103e0b9b509c385bce0ee1e2a6}\label{group__Eina__String__Buffer__Group_ga3ee4c5103e0b9b509c385bce0ee1e2a6}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_gae5a9e80562c901e255c33b85de17c100}\label{group__Eina__String__Buffer__Group_gae5a9e80562c901e255c33b85de17c100}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_ga983f02c22cb9ad843d2677e930a230cd}\label{group__Eina__String__Buffer__Group_ga983f02c22cb9ad843d2677e930a230cd}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_gac070cb3adc8b4ae2a0aa5e1587fca90c}\label{group__Eina__String__Buffer__Group_gac070cb3adc8b4ae2a0aa5e1587fca90c}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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 \mbox{\hyperlink{group__Eina__String__Group_ga3ab5d0649bbe26eef4dfec9956afd355}{eina\+\_\+str\+\_\+tolower()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_gae656aff3c5c7fb271b78a22bb37294b8}\label{group__Eina__String__Buffer__Group_gae656aff3c5c7fb271b78a22bb37294b8}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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 \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga85388a3a1206c6d6cbfbd5806e9ef27c}{eina\+\_\+strbuf\+\_\+manage\+\_\+new()}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga0992b52457bc75283fe21fbfe1f26255}\label{group__Eina__String__Buffer__Group_ga0992b52457bc75283fe21fbfe1f26255}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga186e1bdd5d4641b0ab2a94be5b19595f}\label{group__Eina__String__Buffer__Group_ga186e1bdd5d4641b0ab2a94be5b19595f}} 
\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__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}} or \mbox{\hyperlink{group__Eina__String__Buffer__Group_gafc75dce22b1af29f7a3f1b6ecf505fc9}{eina\+\_\+strbuf\+\_\+remove()}}.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga47e2c91172ca2f0872f6d32319052c20}\label{group__Eina__String__Buffer__Group_ga47e2c91172ca2f0872f6d32319052c20}} 
\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 \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} 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_ga7e21750962c232abc24ba6efb97c2596}\label{group__Eina__String__Buffer__Group_ga7e21750962c232abc24ba6efb97c2596}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga13277ebcc07defa040d6e92f22774031}{eina\_strbuf\_new}}();}
\DoxyCodeLine{curr\_time\ =\ time(NULL);}
\DoxyCodeLine{info\ =\ localtime(\&curr\_time);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga7e21750962c232abc24ba6efb97c2596}{eina\_strbuf\_append\_strftime}}(buf,\ \textcolor{stringliteral}{"{}\%I:\%M\%p"{}},\ info);}
\DoxyCodeLine{\textcolor{comment}{//after\ use}}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga88d8da6589bad44714ad9e47aaa1992b}{eina\_strbuf\_free}}(buf);}

\end{DoxyCode}


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


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__String__Buffer__Group_gad476e89a04c3f1571e3628facd4319bb}{eina\+\_\+strbuf\+\_\+append()}}, \mbox{\hyperlink{group__Eina__String__Group_gae1c70b435ea2b7e52c46b466972223d2}{eina\+\_\+strftime()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Eina__String__Buffer__Group_ga2b057ac2bb4cc69161ad743c782ee494}\label{group__Eina__String__Buffer__Group_ga2b057ac2bb4cc69161ad743c782ee494}} 
\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_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \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_ga13277ebcc07defa040d6e92f22774031}{eina\_strbuf\_new}}();}
\DoxyCodeLine{curr\_time\ =\ time(NULL);}
\DoxyCodeLine{info\ =\ localtime(\&curr\_time);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__String__Buffer__Group_ga2b057ac2bb4cc69161ad743c782ee494}{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_ga88d8da6589bad44714ad9e47aaa1992b}{eina\_strbuf\_free}}(buf);}

\end{DoxyCode}


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


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__String__Buffer__Group_ga3e75e4d900daf01ad1483edbd40671c2}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}}, \mbox{\hyperlink{group__Eina__String__Group_gae1c70b435ea2b7e52c46b466972223d2}{eina\+\_\+strftime()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

