+eina_strbuf_string_free to free string in strbuf without freeing strbuf
authordiscomfitor <discomfitor>
Sun, 18 Jul 2010 06:21:50 +0000 (06:21 +0000)
committerdiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 18 Jul 2010 06:21:50 +0000 (06:21 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@50316 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/include/eina_strbuf.h
src/lib/eina_strbuf.c

index a6f3282..93b4649 100644 (file)
@@ -147,6 +147,7 @@ EAPI Eina_Bool eina_strbuf_insert_vprintf(Eina_Strbuf *buf, const char *fmt, siz
 EAPI Eina_Bool eina_strbuf_remove(Eina_Strbuf *buf, size_t start, size_t end) EINA_ARG_NONNULL(1);
 EAPI const char *eina_strbuf_string_get(const Eina_Strbuf *buf) EINA_ARG_NONNULL(1);
 EAPI char *eina_strbuf_string_steal(Eina_Strbuf *buf) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+EAPI void eina_strbuf_string_free(Eina_Strbuf *buf) EINA_MALLOC EINA_ARG_NONNULL(1);
 EAPI size_t eina_strbuf_length_get(const Eina_Strbuf *buf) EINA_ARG_NONNULL(1);
 EAPI Eina_Bool eina_strbuf_replace(Eina_Strbuf *buf, const char *str, const char *with, unsigned int n) EINA_ARG_NONNULL(1, 2, 3);
 
index ca849db..fed6336 100644 (file)
@@ -825,7 +825,7 @@ eina_strbuf_string_get(const Eina_Strbuf *buf)
  * @return The current string in the string buffer.
  *
  * This function returns the string contained in @p buf. @p buf is
- * then initialized and does not own anymore the returned string. The
+ * then initialized and does not own the returned string anymore. The
  * caller must release the memory of the returned string by calling
  * free(). 
  *
@@ -845,6 +845,25 @@ eina_strbuf_string_steal(Eina_Strbuf *buf)
 }
 
 /**
+ * @brief Free the contents of a string buffer but not the buffer.
+ *
+ * @param buf The string buffer to free the string of.
+  *
+ * This function frees the string contained in @p buf without freeing
+ * @p buf.
+ */
+EAPI void
+eina_strbuf_string_free(Eina_Strbuf *buf)
+{
+   char *ret;
+
+   EINA_MAGIC_CHECK_STRBUF(buf, NULL);
+
+   free(buf->buf);
+   _eina_strbuf_init(buf);
+}
+
+/**
  * @brief Retrieve the length of the string buffer content.
  *
  * @param buf The string buffer.