Merge branch 'jc/fsck' (early part)
[gitweb.git] / Documentation / technical / api-strbuf.txt
index 4242dc01426b46d62bfb7da9f51100c23df2a972..ac56d1c477b2f33b7f9b07d197f70c8f9ed05163 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