summaryrefslogtreecommitdiff
path: root/trailer.h
diff options
context:
space:
mode:
authorJonathan Tan <jonathantanmy@google.com>2016-11-02 10:29:19 -0700
committerJunio C Hamano <gitster@pobox.com>2016-11-29 14:22:18 -0800
commite8c352c316f31a3869f3ad1dae0e8b33042cbaf4 (patch)
tree6465a49e1e40e79e40243a3643431d7eb69483ad /trailer.h
parent022349c3b091f2aa047f1cd12b5409d564b25324 (diff)
downloadgit-e8c352c316f31a3869f3ad1dae0e8b33042cbaf4.tar.gz
trailer: have function to describe trailer layout
Create a function that, taking a string, describes the position of its trailer block (if available) and the contents thereof, and make trailer use it. This makes it easier for other Git components, in the future, to interpret trailer blocks in the same way as trailer. In a subsequent patch, another component will be made to use this. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'trailer.h')
-rw-r--r--trailer.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/trailer.h b/trailer.h
index 36b40b8176..65cc5d79c6 100644
--- a/trailer.h
+++ b/trailer.h
@@ -1,7 +1,32 @@
#ifndef TRAILER_H
#define TRAILER_H
+struct trailer_info {
+ /*
+ * True if there is a blank line before the location pointed to by
+ * trailer_start.
+ */
+ int blank_line_before_trailer;
+
+ /*
+ * Pointers to the start and end of the trailer block found. If there
+ * is no trailer block found, these 2 pointers point to the end of the
+ * input string.
+ */
+ const char *trailer_start, *trailer_end;
+
+ /*
+ * Array of trailers found.
+ */
+ char **trailers;
+ size_t trailer_nr;
+};
+
void process_trailers(const char *file, int in_place, int trim_empty,
struct string_list *trailers);
+void trailer_info_get(struct trailer_info *info, const char *str);
+
+void trailer_info_release(struct trailer_info *info);
+
#endif /* TRAILER_H */