author | Lars Hjemli <hjemli@gmail.com> | 2007-10-25 07:30:06 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-10-27 07:34:15 (UTC) |
commit | e397ff7024293223f48f235fcf072fc526cae7af (patch) (unidiff) | |
tree | cc88ee930bfc40dc1ebaad237345f79ad1085386 /cgit.h | |
parent | 47bae9f58d5ecae437767b8e7835b23ad1804d0b (diff) | |
download | cgit-e397ff7024293223f48f235fcf072fc526cae7af.zip cgit-e397ff7024293223f48f235fcf072fc526cae7af.tar.gz cgit-e397ff7024293223f48f235fcf072fc526cae7af.tar.bz2 |
Add functions and types for ref lists
This adds two structs, refinfo and reflist, and functions for building
a list of refs.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.h | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -93,16 +93,31 @@ struct commitinfo { | |||
93 | 93 | ||
94 | struct taginfo { | 94 | struct taginfo { |
95 | char *tagger; | 95 | char *tagger; |
96 | char *tagger_email; | 96 | char *tagger_email; |
97 | int tagger_date; | 97 | int tagger_date; |
98 | char *msg; | 98 | char *msg; |
99 | }; | 99 | }; |
100 | 100 | ||
101 | struct refinfo { | ||
102 | const char *refname; | ||
103 | struct object *object; | ||
104 | union { | ||
105 | struct taginfo *tag; | ||
106 | struct commitinfo *commit; | ||
107 | }; | ||
108 | }; | ||
109 | |||
110 | struct reflist { | ||
111 | struct refinfo **refs; | ||
112 | int alloc; | ||
113 | int count; | ||
114 | }; | ||
115 | |||
101 | extern const char *cgit_version; | 116 | extern const char *cgit_version; |
102 | 117 | ||
103 | extern struct repolist cgit_repolist; | 118 | extern struct repolist cgit_repolist; |
104 | extern struct repoinfo *cgit_repo; | 119 | extern struct repoinfo *cgit_repo; |
105 | extern int cgit_cmd; | 120 | extern int cgit_cmd; |
106 | 121 | ||
107 | extern char *cgit_root_title; | 122 | extern char *cgit_root_title; |
108 | extern char *cgit_css; | 123 | extern char *cgit_css; |
@@ -157,16 +172,20 @@ extern void cgit_querystring_cb(const char *name, const char *value); | |||
157 | 172 | ||
158 | extern int chk_zero(int result, char *msg); | 173 | extern int chk_zero(int result, char *msg); |
159 | extern int chk_positive(int result, char *msg); | 174 | extern int chk_positive(int result, char *msg); |
160 | extern int chk_non_negative(int result, char *msg); | 175 | extern int chk_non_negative(int result, char *msg); |
161 | 176 | ||
162 | extern int hextoint(char c); | 177 | extern int hextoint(char c); |
163 | extern char *trim_end(const char *str, char c); | 178 | extern char *trim_end(const char *str, char c); |
164 | 179 | ||
180 | extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); | ||
181 | extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, | ||
182 | int flags, void *cb_data); | ||
183 | |||
165 | extern void *cgit_free_commitinfo(struct commitinfo *info); | 184 | extern void *cgit_free_commitinfo(struct commitinfo *info); |
166 | 185 | ||
167 | extern int cgit_diff_files(const unsigned char *old_sha1, | 186 | extern int cgit_diff_files(const unsigned char *old_sha1, |
168 | const unsigned char *new_sha1, | 187 | const unsigned char *new_sha1, |
169 | linediff_fn fn); | 188 | linediff_fn fn); |
170 | 189 | ||
171 | extern void cgit_diff_tree(const unsigned char *old_sha1, | 190 | extern void cgit_diff_tree(const unsigned char *old_sha1, |
172 | const unsigned char *new_sha1, | 191 | const unsigned char *new_sha1, |