Merge git://ozlabs.org/~paulus/gitk
[gitweb.git] / strbuf.h
index bf18fddb5bb7883c089b30cfabc54cc5a9d055b9..52e44c9ab83b3409f4f861db41a138123ba433b1 100644 (file)
--- a/strbuf.h
+++ b/strbuf.h
@@ -190,6 +190,9 @@ void strbuf_ltrim(struct strbuf *sb);
 /* Strip trailing directory separators */
 void strbuf_trim_trailing_dir_sep(struct strbuf *sb);
 
+/* Strip trailing LF or CR/LF */
+void strbuf_trim_trailing_newline(struct strbuf *sb);
+
 /**
  * Replace the contents of the strbuf with a reencoded form.  Returns -1
  * on error, 0 on success.
@@ -317,6 +320,14 @@ void strbuf_expand(struct strbuf *sb,
                   expand_fn_t fn,
                   void *context);
 
+/**
+ * Used as callback for `strbuf_expand` to only expand literals
+ * (i.e. %n and %xNN). The context argument is ignored.
+ */
+size_t strbuf_expand_literal_cb(struct strbuf *sb,
+                               const char *placeholder,
+                               void *context);
+
 /**
  * Used as callback for `strbuf_expand()`, expects an array of
  * struct strbuf_expand_dict_entry as context, i.e. pairs of
@@ -582,10 +593,12 @@ void strbuf_add_unique_abbrev(struct strbuf *sb,
  * run in. If the buffer is NULL the editor is launched as usual but the
  * file's contents are not read into the buffer upon completion.
  */
-int launch_editor(const char *path,
-                 struct strbuf *buffer,
+int launch_editor(const char *path, struct strbuf *buffer,
                  const char *const *env);
 
+int launch_sequence_editor(const char *path, struct strbuf *buffer,
+                          const char *const *env);
+
 void strbuf_add_lines(struct strbuf *sb,
                      const char *prefix,
                      const char *buf,