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


These functions provide string buffers management.  


\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_ga1816dd2a9e1071a3ca35e4ad2e862402}{eina\+\_\+strbuf\+\_\+prepend}(buf, str)~\hyperlink{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}{eina\+\_\+strbuf\+\_\+insert}(buf, str, 0)
\begin{DoxyCompactList}\small\item\em Prepend the given string to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_gae1014eaec5abac59c810a874ba95d0c1}{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}(buf, str)~\hyperlink{group__Eina__String__Buffer__Group_ga3291e2ce3e7d0e82bb47f4a32c8fbc0b}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}(buf, str, 0)
\begin{DoxyCompactList}\small\item\em Prepend the given escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_ga56b481419ab90f7420a50f56d4559aa2}{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}(buf, str, maxlen)~\hyperlink{group__Eina__String__Buffer__Group_ga870503b16c127857c9ba6f9094faf352}{eina\+\_\+strbuf\+\_\+insert\+\_\+n}(buf, str, maxlen, 0)
\begin{DoxyCompactList}\small\item\em Prepend the given escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_ga322886c027a063e92b1daa0a806272cc}{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}(buf, str, length)~\hyperlink{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}{eina\+\_\+strbuf\+\_\+insert\+\_\+length}(buf, str, length, 0)
\begin{DoxyCompactList}\small\item\em Prepend the given escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_gac979572ea69d8f3de67cedb0d7011553}{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}(buf, c)~\hyperlink{group__Eina__String__Buffer__Group_gaa4123d4c77a6cffdc1dd72e8d39dd6a9}{eina\+\_\+strbuf\+\_\+insert\+\_\+char}(buf, c, 0)
\begin{DoxyCompactList}\small\item\em Prepend the given character to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_gabc989298d3db5b39eb68c15eed75fe88}{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}(buf, fmt,...)~\hyperlink{group__Eina__String__Buffer__Group_gadc2a9499f87a3a962bf30878fc4c893e}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}(buf, fmt, 0, \#\# \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\begin{DoxyCompactList}\small\item\em Prepend the given string to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_ga7e54fa58ee7a21ef21a781d9728cf839}{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}(buf, fmt, args)~\hyperlink{group__Eina__String__Buffer__Group_ga8c122e3d295312293856973d710cc574}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}(buf, fmt, 0, args)
\begin{DoxyCompactList}\small\item\em Prepend the given string to the given buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__String__Buffer__Group_gadb9be08a24e6b4a8702ca9930cf1ea17}{eina\+\_\+strbuf\+\_\+replace\+\_\+first}(buf, str, with)~\hyperlink{group__Eina__String__Buffer__Group_ga31557d517c60cda33c9102cc89e2403a}{eina\+\_\+strbuf\+\_\+replace}(buf, str, with, 1)
\begin{DoxyCompactList}\small\item\em Prepend the given character to the given buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{typedef struct \hyperlink{struct__Eina__Strbuf}{\+\_\+\+Eina\+\_\+\+Strbuf} \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf}}\label{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}

\begin{DoxyCompactList}\small\item\em Type for a string buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$ \hyperlink{group__Eina__String__Buffer__Group_ga83a74d63ed9f602c8653e99282e74e78}{eina\+\_\+strbuf\+\_\+new} (void) \hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C} \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}
\begin{DoxyCompactList}\small\item\em Create a new string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$ \hyperlink{group__Eina__String__Buffer__Group_ga0559e0baa1dccb7d280a07042be5b9ca}{eina\+\_\+strbuf\+\_\+manage\+\_\+new} (char $\ast$str) \hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C} \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}
\begin{DoxyCompactList}\small\item\em Create a new string buffer using the passed string. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$ \hyperlink{group__Eina__String__Buffer__Group_gad22ec2e748394dda506ef7bc9dc08c11}{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length} (char $\ast$str, size\+\_\+t length) \hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C} \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}
\begin{DoxyCompactList}\small\item\em Create a new string buffer using the passed string. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$ \hyperlink{group__Eina__String__Buffer__Group_gada31ae30e6b6b0c554757560a3698a92}{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length} (const char $\ast$str, size\+\_\+t length) \hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C} \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}
\begin{DoxyCompactList}\small\item\em Create a new string buffer using the passed string. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}{eina\+\_\+strbuf\+\_\+free} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Free a string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__String__Buffer__Group_ga59d4d2a65bff12844a9165e73fcadc03}{eina\+\_\+strbuf\+\_\+reset} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Reset a string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{eina\+\_\+strbuf\+\_\+append} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga447e5835b53017615dfb487f062dd850}{eina\+\_\+strbuf\+\_\+append\+\_\+escaped} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append an escaped string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga4d26fd66d54dea31fee6f5ecc140cbb4}{eina\+\_\+strbuf\+\_\+append\+\_\+n} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, size\+\_\+t maxlen) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append a string to a buffer, reallocating as necessary, limited by the given length. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}{eina\+\_\+strbuf\+\_\+append\+\_\+length} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, size\+\_\+t length) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append a string of exact length to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_gaacbaa0080730e9794b5c690a35bed1c6}{eina\+\_\+strbuf\+\_\+append\+\_\+buffer} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$data) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append an Eina\+\_\+\+Strbuf to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga74180672d940d88653aa68e3717432ca}{eina\+\_\+strbuf\+\_\+append\+\_\+char} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, char c) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Append a character to a string buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga534a406b49950cbde39b4b67d0739dfc}{eina\+\_\+strbuf\+\_\+append\+\_\+printf} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$fmt,...) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__String__Buffer__Group_ga695182773645274fe6e6115847bc25f5}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F} (2, 3)}\label{group__Eina__String__Buffer__Group_ga695182773645274fe6e6115847bc25f5}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_gab49bd72a1b0292a206e562697240cd24}{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$fmt, va\+\_\+list args) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Append a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}{eina\+\_\+strbuf\+\_\+insert} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, size\+\_\+t pos) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Insert a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga3291e2ce3e7d0e82bb47f4a32c8fbc0b}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, size\+\_\+t pos) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Insert an escaped string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga870503b16c127857c9ba6f9094faf352}{eina\+\_\+strbuf\+\_\+insert\+\_\+n} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, size\+\_\+t maxlen, size\+\_\+t pos) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Insert a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}{eina\+\_\+strbuf\+\_\+insert\+\_\+length} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, size\+\_\+t length, size\+\_\+t pos) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Insert a string of exact length to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \\*
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_gaa4123d4c77a6cffdc1dd72e8d39dd6a9}{eina\+\_\+strbuf\+\_\+insert\+\_\+char} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, char c, size\+\_\+t pos) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Insert a character to a string buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_gadc2a9499f87a3a962bf30878fc4c893e}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$fmt, size\+\_\+t pos,...) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Insert a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__String__Buffer__Group_gad36f0ee267ae1f00c592f86da332d77d}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F} (2, 4)}\label{group__Eina__String__Buffer__Group_gad36f0ee267ae1f00c592f86da332d77d}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga8c122e3d295312293856973d710cc574}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$fmt, size\+\_\+t pos, va\+\_\+list args) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Insert a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga62eb8cfd371cf3f01af5ea81a91ee0cf}{eina\+\_\+strbuf\+\_\+remove} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, size\+\_\+t start, size\+\_\+t end) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Remove a slice of the given string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const char $\ast$ \hyperlink{group__Eina__String__Buffer__Group_gacaf291ef7ad6a66a196cdb17d6575ae2}{eina\+\_\+strbuf\+\_\+string\+\_\+get} (const \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1) \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}
\begin{DoxyCompactList}\small\item\em Retrieve a pointer to the contents of a string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} char $\ast$ \hyperlink{group__Eina__String__Buffer__Group_ga56b2b61d7473dea10d9e73828ffb9016}{eina\+\_\+strbuf\+\_\+string\+\_\+steal} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C} \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T} \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Steal the contents of a string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__String__Buffer__Group_ga36e03da419b1bb86d189198549fad77a}{eina\+\_\+strbuf\+\_\+string\+\_\+free} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Free the contents of a string buffer but not the buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} size\+\_\+t \hyperlink{group__Eina__String__Buffer__Group_ga7071b03b6963145842af987ff66c66db}{eina\+\_\+strbuf\+\_\+length\+\_\+get} (const \hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1) \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}
\begin{DoxyCompactList}\small\item\em Retrieve the length of the string buffer content. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__String__Buffer__Group_ga31557d517c60cda33c9102cc89e2403a}{eina\+\_\+strbuf\+\_\+replace} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, const char $\ast$with, unsigned int n) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Replace the n-\/th string with an other string. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eina__String__Buffer__Group_ga0bd961149bc1ef4d45ccac78529ba2b8}{eina\+\_\+strbuf\+\_\+replace\+\_\+all} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf, const char $\ast$str, const char $\ast$with) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1
\begin{DoxyCompactList}\small\item\em Replace all strings with an other string. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__String__Buffer__Group_ga781ad354ec9c64ee6dad250bc26e5ac3}{eina\+\_\+strbuf\+\_\+trim} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Trim the string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__String__Buffer__Group_ga5e408c9099eb7c90a32be80117a5c6a3}{eina\+\_\+strbuf\+\_\+ltrim} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Left trim the string buffer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eina__String__Buffer__Group_gaa7bb7bcba9edfd84ddd34a4d50844446}{eina\+\_\+strbuf\+\_\+rtrim} (\hyperlink{group__Eina__String__Buffer__Group_ga467437cff14cf09945351b739abf702c}{Eina\+\_\+\+Strbuf} $\ast$buf) \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(1)
\begin{DoxyCompactList}\small\item\em Right trim the string buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}


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

The String Buffer data type is designed to be a mutable string, allowing to append, prepend or insert a string to a buffer.

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

\subsection{Macro Definition Documentation}
\hypertarget{group__Eina__String__Buffer__Group_ga1816dd2a9e1071a3ca35e4ad2e862402}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend@{eina\+\_\+strbuf\+\_\+prepend}}
\index{eina\+\_\+strbuf\+\_\+prepend@{eina\+\_\+strbuf\+\_\+prepend}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{str}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert}(buf, str, 0)}}\label{group__Eina__String__Buffer__Group_ga1816dd2a9e1071a3ca35e4ad2e862402}


Prepend the given string to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}{eina\+\_\+strbuf\+\_\+insert()} at position 0. If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_gae1014eaec5abac59c810a874ba95d0c1}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped@{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped@{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend\+\_\+escaped(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{str}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}(buf, str, 0)}}\label{group__Eina__String__Buffer__Group_gae1014eaec5abac59c810a874ba95d0c1}


Prepend the given escaped string to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_ga3291e2ce3e7d0e82bb47f4a32c8fbc0b}{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped()} at position 0. If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_ga56b481419ab90f7420a50f56d4559aa2}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+n@{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+n@{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend\+\_\+n}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend\+\_\+n(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{str, }
\item[{}]{maxlen}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert\+\_\+n}(buf, str, maxlen, 0)}}\label{group__Eina__String__Buffer__Group_ga56b481419ab90f7420a50f56d4559aa2}


Prepend the given escaped string to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em str} & The string to prepend. \\
\hline
{\em maxlen} & The maximum number of chars to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_ga870503b16c127857c9ba6f9094faf352}{eina\+\_\+strbuf\+\_\+insert\+\_\+n()} at position 0. If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_ga322886c027a063e92b1daa0a806272cc}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+length@{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+length@{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend\+\_\+length}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend\+\_\+length(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{str, }
\item[{}]{length}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert\+\_\+length}(buf, str, length, 0)}}\label{group__Eina__String__Buffer__Group_ga322886c027a063e92b1daa0a806272cc}


Prepend the given escaped string to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em str} & The string to prepend. \\
\hline
{\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()} at position 0. If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_gac979572ea69d8f3de67cedb0d7011553}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+char@{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+char@{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend\+\_\+char}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend\+\_\+char(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{c}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert\+\_\+char}(buf, c, 0)}}\label{group__Eina__String__Buffer__Group_gac979572ea69d8f3de67cedb0d7011553}


Prepend the given character to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em c} & The character to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_gaa4123d4c77a6cffdc1dd72e8d39dd6a9}{eina\+\_\+strbuf\+\_\+insert\+\_\+char()} at position 0. If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_gabc989298d3db5b39eb68c15eed75fe88}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+printf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend\+\_\+printf}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend\+\_\+printf(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{fmt, }
\item[{}]{...}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert\+\_\+printf}(buf, fmt, 0, \#\# \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}}\label{group__Eina__String__Buffer__Group_gabc989298d3db5b39eb68c15eed75fe88}


Prepend the given string to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em fmt} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_gadc2a9499f87a3a962bf30878fc4c893e}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf()} at position 0. If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_ga7e54fa58ee7a21ef21a781d9728cf839}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}}
\index{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+prepend\+\_\+vprintf(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{fmt, }
\item[{}]{args}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}(buf, fmt, 0, args)}}\label{group__Eina__String__Buffer__Group_ga7e54fa58ee7a21ef21a781d9728cf839}


Prepend the given string to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to prepend to. \\
\hline
{\em fmt} & The string to prepend. \\
\hline
{\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_ga8c122e3d295312293856973d710cc574}{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf()} at position 0.\+If {\ttfamily buf} can't prepend it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_gadb9be08a24e6b4a8702ca9930cf1ea17}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+replace\+\_\+first@{eina\+\_\+strbuf\+\_\+replace\+\_\+first}}
\index{eina\+\_\+strbuf\+\_\+replace\+\_\+first@{eina\+\_\+strbuf\+\_\+replace\+\_\+first}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+replace\+\_\+first}]{\setlength{\rightskip}{0pt plus 5cm}\#define eina\+\_\+strbuf\+\_\+replace\+\_\+first(
\begin{DoxyParamCaption}
\item[{}]{buf, }
\item[{}]{str, }
\item[{}]{with}
\end{DoxyParamCaption}
)~{\bf eina\+\_\+strbuf\+\_\+replace}(buf, str, with, 1)}}\label{group__Eina__String__Buffer__Group_gadb9be08a24e6b4a8702ca9930cf1ea17}


Prepend the given character to the given buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to work with. \\
\hline
{\em str} & The string to replace. \\
\hline
{\em with} & The replaceing string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This macro is calling \hyperlink{group__Eina__String__Buffer__Group_ga31557d517c60cda33c9102cc89e2403a}{eina\+\_\+strbuf\+\_\+replace()} with the n-\/th occurrence equal to {\ttfamily 1}. If {\ttfamily buf} can't replace it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. 

\subsection{Function Documentation}
\hypertarget{group__Eina__String__Buffer__Group_ga83a74d63ed9f602c8653e99282e74e78}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+new@{eina\+\_\+strbuf\+\_\+new}}
\index{eina\+\_\+strbuf\+\_\+new@{eina\+\_\+strbuf\+\_\+new}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Strbuf}$\ast$ eina\+\_\+strbuf\+\_\+new (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga83a74d63ed9f602c8653e99282e74e78}


Create a new string buffer. 

\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance.
\end{DoxyReturn}
This function creates a new string buffer. On error, {\ttfamily N\+U\+L\+L} is returned. To free the resources, use \hyperlink{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}{eina\+\_\+strbuf\+\_\+free()}.

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

\hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{eina\+\_\+strbuf\+\_\+append()} 

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


Referenced by ecore\+\_\+timer\+\_\+dump(), edje\+\_\+edit\+\_\+source\+\_\+generate(), eeze\+\_\+disk\+\_\+eject(), eeze\+\_\+disk\+\_\+mount(), eeze\+\_\+disk\+\_\+unmount(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\hypertarget{group__Eina__String__Buffer__Group_ga0559e0baa1dccb7d280a07042be5b9ca}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+manage\+\_\+new@{eina\+\_\+strbuf\+\_\+manage\+\_\+new}}
\index{eina\+\_\+strbuf\+\_\+manage\+\_\+new@{eina\+\_\+strbuf\+\_\+manage\+\_\+new}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+manage\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Strbuf}$\ast$ eina\+\_\+strbuf\+\_\+manage\+\_\+new (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{str}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga0559e0baa1dccb7d280a07042be5b9ca}


Create a new string buffer using the passed string. 

The passed string is used directly as the buffer, it's somehow the opposite function of \hyperlink{group__Eina__String__Buffer__Group_ga56b2b61d7473dea10d9e73828ffb9016}{eina\+\_\+strbuf\+\_\+string\+\_\+steal} . The passed string must be malloced.


\begin{DoxyParams}{Parameters}
{\em str} & the string to manage \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance.
\end{DoxyReturn}
This function creates a new string buffer. On error, {\ttfamily N\+U\+L\+L} is returned. To free the resources, use \hyperlink{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}{eina\+\_\+strbuf\+\_\+free()}.

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

\hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{eina\+\_\+strbuf\+\_\+append()} 

\hyperlink{group__Eina__String__Buffer__Group_gacaf291ef7ad6a66a196cdb17d6575ae2}{eina\+\_\+strbuf\+\_\+string\+\_\+get()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+1.\+0 
\end{DoxySince}
\hypertarget{group__Eina__String__Buffer__Group_gad22ec2e748394dda506ef7bc9dc08c11}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Strbuf}$\ast$ eina\+\_\+strbuf\+\_\+manage\+\_\+new\+\_\+length (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{str, }
\item[{size\+\_\+t}]{length}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gad22ec2e748394dda506ef7bc9dc08c11}


Create a new string buffer using the passed string. 

The passed string is used directly as the buffer, it's somehow the opposite function of \hyperlink{group__Eina__String__Buffer__Group_ga56b2b61d7473dea10d9e73828ffb9016}{eina\+\_\+strbuf\+\_\+string\+\_\+steal} . The passed string must be malloced.


\begin{DoxyParams}{Parameters}
{\em str} & the string to manage \\
\hline
{\em length} & the length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance.
\end{DoxyReturn}
This function creates a new string buffer. On error, {\ttfamily N\+U\+L\+L} is returned. To free the resources, use \hyperlink{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}{eina\+\_\+strbuf\+\_\+free()}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__String__Buffer__Group_ga0559e0baa1dccb7d280a07042be5b9ca}{eina\+\_\+strbuf\+\_\+manage\+\_\+new()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2.\+0 
\end{DoxySince}
\hypertarget{group__Eina__String__Buffer__Group_gada31ae30e6b6b0c554757560a3698a92}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length@{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Strbuf}$\ast$ eina\+\_\+strbuf\+\_\+manage\+\_\+read\+\_\+only\+\_\+new\+\_\+length (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{length}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gada31ae30e6b6b0c554757560a3698a92}


Create a new string buffer using the passed string. 

The passed string is used directly as the buffer, it's somehow the opposite function of \hyperlink{group__Eina__String__Buffer__Group_ga56b2b61d7473dea10d9e73828ffb9016}{eina\+\_\+strbuf\+\_\+string\+\_\+steal} . The passed string must be malloced.


\begin{DoxyParams}{Parameters}
{\em str} & the string to manage \\
\hline
{\em length} & the length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance.
\end{DoxyReturn}
This function creates a new string buffer. On error, {\ttfamily N\+U\+L\+L} is returned. To free the resources, use \hyperlink{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}{eina\+\_\+strbuf\+\_\+free()}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__String__Buffer__Group_ga0559e0baa1dccb7d280a07042be5b9ca}{eina\+\_\+strbuf\+\_\+manage\+\_\+new()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+9.\+0 
\end{DoxySince}
\hypertarget{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+free@{eina\+\_\+strbuf\+\_\+free}}
\index{eina\+\_\+strbuf\+\_\+free@{eina\+\_\+strbuf\+\_\+free}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+strbuf\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga35331525102f5cd40350c3951fbd2786}


Free a string buffer. 


\begin{DoxyParams}{Parameters}
{\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 \hyperlink{group__Eina__String__Buffer__Group_ga83a74d63ed9f602c8653e99282e74e78}{eina\+\_\+strbuf\+\_\+new()}. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}


Referenced by ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+add(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+del(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+val\+\_\+set(), ecore\+\_\+timer\+\_\+dump(), edje\+\_\+edit\+\_\+print\+\_\+internal\+\_\+status(), edje\+\_\+edit\+\_\+source\+\_\+generate(), eeze\+\_\+disk\+\_\+free(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\hypertarget{group__Eina__String__Buffer__Group_ga59d4d2a65bff12844a9165e73fcadc03}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+reset@{eina\+\_\+strbuf\+\_\+reset}}
\index{eina\+\_\+strbuf\+\_\+reset@{eina\+\_\+strbuf\+\_\+reset}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+reset}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+strbuf\+\_\+reset (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga59d4d2a65bff12844a9165e73fcadc03}


Reset a string buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to reset.\\
\hline
\end{DoxyParams}
This function reset {\ttfamily buf\+:} the buffer len is set to 0, and the string is set to '\textbackslash{}0'. No memory is free'd. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append@{eina\+\_\+strbuf\+\_\+append}}
\index{eina\+\_\+strbuf\+\_\+append@{eina\+\_\+strbuf\+\_\+append}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}


Append a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function appends {\ttfamily str} to {\ttfamily buf}. It computes the length of {\ttfamily str}, so is slightly slower than \hyperlink{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}{eina\+\_\+strbuf\+\_\+append\+\_\+length()}. If the length is known beforehand, consider using that variant. If {\ttfamily buf} can't append it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned.

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

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


Referenced by ecore\+\_\+timer\+\_\+dump(), eeze\+\_\+disk\+\_\+mount(), and evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8().

\hypertarget{group__Eina__String__Buffer__Group_ga447e5835b53017615dfb487f062dd850}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+escaped@{eina\+\_\+strbuf\+\_\+append\+\_\+escaped}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+escaped@{eina\+\_\+strbuf\+\_\+append\+\_\+escaped}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+escaped}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+escaped (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga447e5835b53017615dfb487f062dd850}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function escapes and then appends the string {\ttfamily str} to {\ttfamily buf}. If {\ttfamily str} can not be appended, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_ga4d26fd66d54dea31fee6f5ecc140cbb4}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+n@{eina\+\_\+strbuf\+\_\+append\+\_\+n}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+n@{eina\+\_\+strbuf\+\_\+append\+\_\+n}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+n}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+n (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{maxlen}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga4d26fd66d54dea31fee6f5ecc140cbb4}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em str} & The string to append. \\
\hline
{\em maxlen} & The maximum number of characters to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function appends at most {\ttfamily maxlen} characters of {\ttfamily str} to {\ttfamily buf}. It can't append more than the length of {\ttfamily str}. It computes the length of {\ttfamily str}, so it is slightly slower than \hyperlink{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}{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}). If {\ttfamily str} can not be appended, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned.

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

\hyperlink{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}{eina\+\_\+strbuf\+\_\+append\+\_\+length()} 
\end{DoxySeeAlso}
\hypertarget{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+length@{eina\+\_\+strbuf\+\_\+append\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+length@{eina\+\_\+strbuf\+\_\+append\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+length}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+length (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{length}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em str} & The string to append. \\
\hline
{\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\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 \hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{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. If {\ttfamily buf} can't append it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned.

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

\hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{eina\+\_\+strbuf\+\_\+append()} 

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


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

\hypertarget{group__Eina__String__Buffer__Group_gaacbaa0080730e9794b5c690a35bed1c6}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+buffer@{eina\+\_\+strbuf\+\_\+append\+\_\+buffer}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+buffer@{eina\+\_\+strbuf\+\_\+append\+\_\+buffer}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+buffer (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const {\bf Eina\+\_\+\+Strbuf} $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gaacbaa0080730e9794b5c690a35bed1c6}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em data} & The string buffer to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function appends {\ttfamily data} to {\ttfamily buf}. {\ttfamily data} must be allocated and different from . It is slightly faster than \hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{eina\+\_\+strbuf\+\_\+append()} as it does not compute the size of {\ttfamily str}. If {\ttfamily buf} can't append it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned.

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

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

\hyperlink{group__Eina__String__Buffer__Group_ga020109f080ebe17ebd6a45675842d686}{eina\+\_\+strbuf\+\_\+append\+\_\+length()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+9.\+0 
\end{DoxySince}
\hypertarget{group__Eina__String__Buffer__Group_ga74180672d940d88653aa68e3717432ca}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+char@{eina\+\_\+strbuf\+\_\+append\+\_\+char}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+char@{eina\+\_\+strbuf\+\_\+append\+\_\+char}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+char}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+char (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{char}]{c}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga74180672d940d88653aa68e3717432ca}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em c} & The char to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function inserts {\ttfamily c} to {\ttfamily buf}. If it can not insert it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}


Referenced by evas\+\_\+textblock\+\_\+style\+\_\+set().

\hypertarget{group__Eina__String__Buffer__Group_ga534a406b49950cbde39b4b67d0739dfc}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+printf@{eina\+\_\+strbuf\+\_\+append\+\_\+printf}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+printf@{eina\+\_\+strbuf\+\_\+append\+\_\+printf}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+printf}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+printf (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{fmt, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga534a406b49950cbde39b4b67d0739dfc}


Append a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em fmt} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function appends the string defined by the format {\ttfamily fmt} to {\ttfamily buf}. {\ttfamily fmt} must be of a valid format for printf family of functions. If it can't insert it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned.

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


Referenced by ecore\+\_\+timer\+\_\+dump(), eeze\+\_\+disk\+\_\+eject(), eeze\+\_\+disk\+\_\+mount(), and eeze\+\_\+disk\+\_\+unmount().

\hypertarget{group__Eina__String__Buffer__Group_gab49bd72a1b0292a206e562697240cd24}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+append\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf}}
\index{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+append\+\_\+vprintf}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+append\+\_\+vprintf (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{fmt, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gab49bd72a1b0292a206e562697240cd24}


Append a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to append to. \\
\hline
{\em fmt} & The string to append. \\
\hline
{\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__String__Buffer__Group_ga534a406b49950cbde39b4b67d0739dfc}{eina\+\_\+strbuf\+\_\+append\+\_\+printf()} 
\end{DoxySeeAlso}
\hypertarget{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert@{eina\+\_\+strbuf\+\_\+insert}}
\index{eina\+\_\+strbuf\+\_\+insert@{eina\+\_\+strbuf\+\_\+insert}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{pos}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}


Insert a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert. \\
\hline
{\em str} & The string to insert. \\
\hline
{\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function inserts {\ttfamily str} to {\ttfamily buf} at position {\ttfamily pos}. It computes the length of {\ttfamily str}, so is slightly slower than \hyperlink{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}{eina\+\_\+strbuf\+\_\+insert\+\_\+length()}. If the length is known beforehand, consider using that variant. If {\ttfamily buf} can't insert it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_ga3291e2ce3e7d0e82bb47f4a32c8fbc0b}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+escaped@{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped@{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert\+\_\+escaped}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert\+\_\+escaped (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{pos}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga3291e2ce3e7d0e82bb47f4a32c8fbc0b}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert to. \\
\hline
{\em str} & The string to insert. \\
\hline
{\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function escapes and inserts the string {\ttfamily str} to {\ttfamily buf} at position {\ttfamily pos}. If {\ttfamily buf} can't insert {\ttfamily str}, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_ga870503b16c127857c9ba6f9094faf352}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+n@{eina\+\_\+strbuf\+\_\+insert\+\_\+n}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+n@{eina\+\_\+strbuf\+\_\+insert\+\_\+n}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert\+\_\+n}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert\+\_\+n (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{maxlen, }
\item[{size\+\_\+t}]{pos}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga870503b16c127857c9ba6f9094faf352}


Insert a string to a buffer, reallocating as necessary. 

Limited by maxlen.


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert to. \\
\hline
{\em str} & The string to insert. \\
\hline
{\em maxlen} & The maximum number of chars to insert. \\
\hline
{\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function inserts {\ttfamily str} to {\ttfamily buf} at position {\ttfamily pos}, with at most {\ttfamily maxlen} bytes. The number of inserted characters can not be greater than the length of {\ttfamily str}. It computes the length of {\ttfamily str}, so is slightly slower than \hyperlink{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}{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}). If {\ttfamily str} can not be inserted, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+length@{eina\+\_\+strbuf\+\_\+insert\+\_\+length}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+length@{eina\+\_\+strbuf\+\_\+insert\+\_\+length}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert\+\_\+length}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert\+\_\+length (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{size\+\_\+t}]{length, }
\item[{size\+\_\+t}]{pos}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga418a1f3f0b2afa6c9c3d83bf5f28ce12}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert to. \\
\hline
{\em str} & The string to insert. \\
\hline
{\em length} & The exact length to use. \\
\hline
{\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function inserts {\ttfamily str} to {\ttfamily buf}. {\ttfamily str} must be of size at most {\ttfamily length}. It is slightly faster than \hyperlink{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}{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\+\_\+strngshare. If {\ttfamily buf} can't insert it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned.

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

\hyperlink{group__Eina__String__Buffer__Group_gaae2418baea275ee8d10750158ae0f69c}{eina\+\_\+strbuf\+\_\+insert()} 

\hyperlink{group__Eina__String__Buffer__Group_ga870503b16c127857c9ba6f9094faf352}{eina\+\_\+strbuf\+\_\+insert\+\_\+n()} 
\end{DoxySeeAlso}
\hypertarget{group__Eina__String__Buffer__Group_gaa4123d4c77a6cffdc1dd72e8d39dd6a9}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+char@{eina\+\_\+strbuf\+\_\+insert\+\_\+char}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+char@{eina\+\_\+strbuf\+\_\+insert\+\_\+char}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert\+\_\+char}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} {\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert\+\_\+char (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{char}]{c, }
\item[{size\+\_\+t}]{pos}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gaa4123d4c77a6cffdc1dd72e8d39dd6a9}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert to. \\
\hline
{\em c} & The char to insert. \\
\hline
{\em pos} & The position to insert the char. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function inserts {\ttfamily c} to {\ttfamily buf} at position {\ttfamily pos}. If {\ttfamily buf} can't append it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \hypertarget{group__Eina__String__Buffer__Group_gadc2a9499f87a3a962bf30878fc4c893e}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+printf@{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+printf@{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert\+\_\+printf}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert\+\_\+printf (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{fmt, }
\item[{size\+\_\+t}]{pos, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gadc2a9499f87a3a962bf30878fc4c893e}


Insert a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert. \\
\hline
{\em fmt} & The string to insert. \\
\hline
{\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function insert a string as described by the format {\ttfamily fmt} to {\ttfamily buf} at the position {\ttfamily pos}. {\ttfamily fmt} must be of a valid format for printf family of functions. If it can't insert it, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is returned, otherwise \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is returned. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_ga8c122e3d295312293856973d710cc574}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}}
\index{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf@{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+insert\+\_\+vprintf (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{fmt, }
\item[{size\+\_\+t}]{pos, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga8c122e3d295312293856973d710cc574}


Insert a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to insert. \\
\hline
{\em fmt} & The string to insert. \\
\hline
{\em pos} & The position to insert the string. \\
\hline
{\em args} & The variable arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__String__Buffer__Group_gadc2a9499f87a3a962bf30878fc4c893e}{eina\+\_\+strbuf\+\_\+insert\+\_\+printf} 
\end{DoxySeeAlso}
\hypertarget{group__Eina__String__Buffer__Group_ga62eb8cfd371cf3f01af5ea81a91ee0cf}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+remove@{eina\+\_\+strbuf\+\_\+remove}}
\index{eina\+\_\+strbuf\+\_\+remove@{eina\+\_\+strbuf\+\_\+remove}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+remove}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+remove (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{size\+\_\+t}]{start, }
\item[{size\+\_\+t}]{end}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga62eb8cfd371cf3f01af5ea81a91ee0cf}


Remove a slice of the given string buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to remove a slice. \\
\hline
{\em start} & The initial (inclusive) slice position to start removing, in bytes. \\
\hline
{\em end} & The final (non-\/inclusive) slice position to finish removing, in bytes. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} 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. It returns \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} otherwise. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_gacaf291ef7ad6a66a196cdb17d6575ae2}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+string\+\_\+get@{eina\+\_\+strbuf\+\_\+string\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+string\+\_\+get@{eina\+\_\+strbuf\+\_\+string\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+string\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} const char$\ast$ eina\+\_\+strbuf\+\_\+string\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gacaf291ef7ad6a66a196cdb17d6575ae2}


Retrieve a pointer to the contents of a string buffer. 


\begin{DoxyParams}{Parameters}
{\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, any \hyperlink{group__Eina__String__Buffer__Group_ga12e6eb787d5e9d2483cc28e664c85e9d}{eina\+\_\+strbuf\+\_\+append()} or similar will make that pointer invalid. The pointer returned by this function {\bfseries must not} be freed.

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


Referenced by ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+add(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+del(), ecore\+\_\+evas\+\_\+aux\+\_\+hint\+\_\+val\+\_\+set(), edje\+\_\+edit\+\_\+source\+\_\+generate(), eeze\+\_\+disk\+\_\+eject(), eeze\+\_\+disk\+\_\+mount(), eeze\+\_\+disk\+\_\+unmount(), eldbus\+\_\+signal\+\_\+handler\+\_\+match\+\_\+extra\+\_\+vset(), eldbus\+\_\+signal\+\_\+handler\+\_\+ref(), and eldbus\+\_\+signal\+\_\+handler\+\_\+unref().

\hypertarget{group__Eina__String__Buffer__Group_ga56b2b61d7473dea10d9e73828ffb9016}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+string\+\_\+steal@{eina\+\_\+strbuf\+\_\+string\+\_\+steal}}
\index{eina\+\_\+strbuf\+\_\+string\+\_\+steal@{eina\+\_\+strbuf\+\_\+string\+\_\+steal}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+string\+\_\+steal}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char$\ast$ eina\+\_\+strbuf\+\_\+string\+\_\+steal (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga56b2b61d7473dea10d9e73828ffb9016}


Steal the contents of a string buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to steal. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current string in the string buffer.
\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}
\hyperlink{group__Eina__String__Buffer__Group_gacaf291ef7ad6a66a196cdb17d6575ae2}{eina\+\_\+strbuf\+\_\+string\+\_\+get()} 
\end{DoxySeeAlso}


Referenced by ecore\+\_\+timer\+\_\+dump(), eina\+\_\+simple\+\_\+xml\+\_\+node\+\_\+dump(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+to\+\_\+utf8(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\hypertarget{group__Eina__String__Buffer__Group_ga36e03da419b1bb86d189198549fad77a}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+string\+\_\+free@{eina\+\_\+strbuf\+\_\+string\+\_\+free}}
\index{eina\+\_\+strbuf\+\_\+string\+\_\+free@{eina\+\_\+strbuf\+\_\+string\+\_\+free}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+string\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+strbuf\+\_\+string\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga36e03da419b1bb86d189198549fad77a}


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


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to free the string of.\\
\hline
\end{DoxyParams}
This function frees the string contained in {\ttfamily buf} without freeing {\ttfamily buf}. 

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

\hypertarget{group__Eina__String__Buffer__Group_ga7071b03b6963145842af987ff66c66db}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+length\+\_\+get@{eina\+\_\+strbuf\+\_\+length\+\_\+get}}
\index{eina\+\_\+strbuf\+\_\+length\+\_\+get@{eina\+\_\+strbuf\+\_\+length\+\_\+get}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+length\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} size\+\_\+t eina\+\_\+strbuf\+\_\+length\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga7071b03b6963145842af987ff66c66db}


Retrieve the length of the string buffer content. 


\begin{DoxyParams}{Parameters}
{\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
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_ga31557d517c60cda33c9102cc89e2403a}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+replace@{eina\+\_\+strbuf\+\_\+replace}}
\index{eina\+\_\+strbuf\+\_\+replace@{eina\+\_\+strbuf\+\_\+replace}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+replace}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} eina\+\_\+strbuf\+\_\+replace (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{const char $\ast$}]{with, }
\item[{unsigned int}]{n}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga31557d517c60cda33c9102cc89e2403a}


Replace the n-\/th string with an other string. 


\begin{DoxyParams}{Parameters}
{\em buf} & The string buffer to work with. \\
\hline
{\em str} & The string to replace. \\
\hline
{\em with} & The replaceing string. \\
\hline
{\em n} & The number of the fitting string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function replaces the n-\/th occurrence of {\ttfamily str} in {\ttfamily buf} with {\ttfamily with}. It returns \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} otherwise. \hypertarget{group__Eina__String__Buffer__Group_ga0bd961149bc1ef4d45ccac78529ba2b8}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+replace\+\_\+all@{eina\+\_\+strbuf\+\_\+replace\+\_\+all}}
\index{eina\+\_\+strbuf\+\_\+replace\+\_\+all@{eina\+\_\+strbuf\+\_\+replace\+\_\+all}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+replace\+\_\+all}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int eina\+\_\+strbuf\+\_\+replace\+\_\+all (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf, }
\item[{const char $\ast$}]{str, }
\item[{const char $\ast$}]{with}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga0bd961149bc1ef4d45ccac78529ba2b8}


Replace all strings with an other string. 


\begin{DoxyParams}{Parameters}
{\em buf} & the string buffer to work with. \\
\hline
{\em str} & The string to replace. \\
\hline
{\em with} & The replaceing string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
How often the string was replaced.
\end{DoxyReturn}
This function replaces all the occurrences of {\ttfamily str} in {\ttfamily buf} with the string {\ttfamily with}. This function returns the number of times {\ttfamily str} has been replaced. On failure, it returns {\ttfamily 0}. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__String__Buffer__Group_ga781ad354ec9c64ee6dad250bc26e5ac3}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+trim@{eina\+\_\+strbuf\+\_\+trim}}
\index{eina\+\_\+strbuf\+\_\+trim@{eina\+\_\+strbuf\+\_\+trim}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+trim}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int {\bf E\+A\+P\+I} void eina\+\_\+strbuf\+\_\+trim (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga781ad354ec9c64ee6dad250bc26e5ac3}


Trim the string buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & the string buffer to work with.\\
\hline
\end{DoxyParams}
This function skips whitespaces in the beginning and the end of the buffer. \hypertarget{group__Eina__String__Buffer__Group_ga5e408c9099eb7c90a32be80117a5c6a3}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+ltrim@{eina\+\_\+strbuf\+\_\+ltrim}}
\index{eina\+\_\+strbuf\+\_\+ltrim@{eina\+\_\+strbuf\+\_\+ltrim}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+ltrim}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+strbuf\+\_\+ltrim (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_ga5e408c9099eb7c90a32be80117a5c6a3}


Left trim the string buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & the string buffer to work with.\\
\hline
\end{DoxyParams}
This function skips whitespaces in the beginning of the buffer. \hypertarget{group__Eina__String__Buffer__Group_gaa7bb7bcba9edfd84ddd34a4d50844446}{\index{String Buffer@{String Buffer}!eina\+\_\+strbuf\+\_\+rtrim@{eina\+\_\+strbuf\+\_\+rtrim}}
\index{eina\+\_\+strbuf\+\_\+rtrim@{eina\+\_\+strbuf\+\_\+rtrim}!String Buffer@{String Buffer}}
\subsubsection[{eina\+\_\+strbuf\+\_\+rtrim}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void eina\+\_\+strbuf\+\_\+rtrim (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Strbuf} $\ast$}]{buf}
\end{DoxyParamCaption}
)}}\label{group__Eina__String__Buffer__Group_gaa7bb7bcba9edfd84ddd34a4d50844446}


Right trim the string buffer. 


\begin{DoxyParams}{Parameters}
{\em buf} & the string buffer to work with.\\
\hline
\end{DoxyParams}
This function skips whitespaces in the end of the buffer. 