Merge branch 'jc/maint-ls-tree'
[gitweb.git] / Documentation / technical / api-strbuf.txt
index a9668e5f2d2b1a7ffac45e4111ca6d8a4818af2b..9a4e3ea92c44b01694c4373f97b6c56c67952fbb 100644 (file)
@@ -133,8 +133,10 @@ Functions
 
 * Adding data to the buffer
 
-NOTE: All of these functions in this section will grow the buffer as
-      necessary.
+NOTE: All of the functions in this section will grow the buffer as necessary.
+If they fail for some reason other than memory shortage and the buffer hadn't
+been allocated before (i.e. the `struct strbuf` was set to `STRBUF_INIT`),
+then they will free() it.
 
 `strbuf_addch`::
 
@@ -205,6 +207,13 @@ In order to facilitate caching and to make it possible to give
 parameters to the callback, `strbuf_expand()` passes a context pointer,
 which can be used by the programmer of the callback as she sees fit.
 
+`strbuf_expand_dict_cb`::
+
+       Used as callback for `strbuf_expand()`, expects an array of
+       struct strbuf_expand_dict_entry as context, i.e. pairs of
+       placeholder and replacement string.  The array needs to be
+       terminated by an entry with placeholder set to NULL.
+
 `strbuf_addf`::
 
        Add a formatted string to the buffer.
@@ -228,6 +237,11 @@ same behaviour as well.
        Read the contents of a file, specified by its path. The third argument
        can be used to give a hint about the file size, to avoid reallocs.
 
+`strbuf_readlink`::
+
+       Read the target of a symbolic link, specified by its path.  The third
+       argument can be used to give a hint about the size, to avoid reallocs.
+
 `strbuf_getline`::
 
        Read a line from a FILE* pointer. The second argument specifies the line