summaryrefslogtreecommitdiffabout
path: root/cgit.h
authorMark Lodato <lodatom@gmail.com>2010-09-04 15:09:57 (UTC)
committer Mark Lodato <lodatom@gmail.com>2010-09-04 15:11:40 (UTC)
commita4c58d92bfee0cf2e35ab1c5e828a6d790108a69 (patch) (unidiff)
tree4b6073081a04216525facaf06db956b4a08dffac /cgit.h
parentbf8293d3196d49d6c4a48b254a04415183ca2762 (diff)
downloadcgit-a4c58d92bfee0cf2e35ab1c5e828a6d790108a69.zip
cgit-a4c58d92bfee0cf2e35ab1c5e828a6d790108a69.tar.gz
cgit-a4c58d92bfee0cf2e35ab1c5e828a6d790108a69.tar.bz2
use __attribute__ to catch printf format mistakes
Use "__attribute__((format (printf,N,M)))", as is done in git, do catch mistakes in printf-style format strings. Signed-off-by: Mark Lodato <lodatom@gmail.com>
Diffstat (limited to 'cgit.h') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index 4090cd4..8f84281 100644
--- a/cgit.h
+++ b/cgit.h
@@ -200,114 +200,115 @@ struct cgit_config {
200 int max_repodesc_len; 200 int max_repodesc_len;
201 int max_blob_size; 201 int max_blob_size;
202 int max_stats; 202 int max_stats;
203 int nocache; 203 int nocache;
204 int noplainemail; 204 int noplainemail;
205 int noheader; 205 int noheader;
206 int renamelimit; 206 int renamelimit;
207 int remove_suffix; 207 int remove_suffix;
208 int snapshots; 208 int snapshots;
209 int summary_branches; 209 int summary_branches;
210 int summary_log; 210 int summary_log;
211 int summary_tags; 211 int summary_tags;
212 int ssdiff; 212 int ssdiff;
213 struct string_list mimetypes; 213 struct string_list mimetypes;
214 struct cgit_filter *about_filter; 214 struct cgit_filter *about_filter;
215 struct cgit_filter *commit_filter; 215 struct cgit_filter *commit_filter;
216 struct cgit_filter *source_filter; 216 struct cgit_filter *source_filter;
217}; 217};
218 218
219struct cgit_page { 219struct cgit_page {
220 time_t modified; 220 time_t modified;
221 time_t expires; 221 time_t expires;
222 size_t size; 222 size_t size;
223 char *mimetype; 223 char *mimetype;
224 char *charset; 224 char *charset;
225 char *filename; 225 char *filename;
226 char *etag; 226 char *etag;
227 char *title; 227 char *title;
228 int status; 228 int status;
229 char *statusmsg; 229 char *statusmsg;
230}; 230};
231 231
232struct cgit_environment { 232struct cgit_environment {
233 char *cgit_config; 233 char *cgit_config;
234 char *http_host; 234 char *http_host;
235 char *https; 235 char *https;
236 char *no_http; 236 char *no_http;
237 char *path_info; 237 char *path_info;
238 char *query_string; 238 char *query_string;
239 char *request_method; 239 char *request_method;
240 char *script_name; 240 char *script_name;
241 char *server_name; 241 char *server_name;
242 char *server_port; 242 char *server_port;
243}; 243};
244 244
245struct cgit_context { 245struct cgit_context {
246 struct cgit_environment env; 246 struct cgit_environment env;
247 struct cgit_query qry; 247 struct cgit_query qry;
248 struct cgit_config cfg; 248 struct cgit_config cfg;
249 struct cgit_repo *repo; 249 struct cgit_repo *repo;
250 struct cgit_page page; 250 struct cgit_page page;
251}; 251};
252 252
253struct cgit_snapshot_format { 253struct cgit_snapshot_format {
254 const char *suffix; 254 const char *suffix;
255 const char *mimetype; 255 const char *mimetype;
256 write_archive_fn_t write_func; 256 write_archive_fn_t write_func;
257 int bit; 257 int bit;
258}; 258};
259 259
260extern const char *cgit_version; 260extern const char *cgit_version;
261 261
262extern struct cgit_repolist cgit_repolist; 262extern struct cgit_repolist cgit_repolist;
263extern struct cgit_context ctx; 263extern struct cgit_context ctx;
264extern const struct cgit_snapshot_format cgit_snapshot_formats[]; 264extern const struct cgit_snapshot_format cgit_snapshot_formats[];
265 265
266extern struct cgit_repo *cgit_add_repo(const char *url); 266extern struct cgit_repo *cgit_add_repo(const char *url);
267extern struct cgit_repo *cgit_get_repoinfo(const char *url); 267extern struct cgit_repo *cgit_get_repoinfo(const char *url);
268extern void cgit_repo_config_cb(const char *name, const char *value); 268extern void cgit_repo_config_cb(const char *name, const char *value);
269 269
270extern int chk_zero(int result, char *msg); 270extern int chk_zero(int result, char *msg);
271extern int chk_positive(int result, char *msg); 271extern int chk_positive(int result, char *msg);
272extern int chk_non_negative(int result, char *msg); 272extern int chk_non_negative(int result, char *msg);
273 273
274extern char *trim_end(const char *str, char c); 274extern char *trim_end(const char *str, char c);
275extern char *strlpart(char *txt, int maxlen); 275extern char *strlpart(char *txt, int maxlen);
276extern char *strrpart(char *txt, int maxlen); 276extern char *strrpart(char *txt, int maxlen);
277 277
278extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); 278extern void cgit_add_ref(struct reflist *list, struct refinfo *ref);
279extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, 279extern int cgit_refs_cb(const char *refname, const unsigned char *sha1,
280 int flags, void *cb_data); 280 int flags, void *cb_data);
281 281
282extern void *cgit_free_commitinfo(struct commitinfo *info); 282extern void *cgit_free_commitinfo(struct commitinfo *info);
283 283
284extern int cgit_diff_files(const unsigned char *old_sha1, 284extern int cgit_diff_files(const unsigned char *old_sha1,
285 const unsigned char *new_sha1, 285 const unsigned char *new_sha1,
286 unsigned long *old_size, unsigned long *new_size, 286 unsigned long *old_size, unsigned long *new_size,
287 int *binary, int context, int ignorews, 287 int *binary, int context, int ignorews,
288 linediff_fn fn); 288 linediff_fn fn);
289 289
290extern void cgit_diff_tree(const unsigned char *old_sha1, 290extern void cgit_diff_tree(const unsigned char *old_sha1,
291 const unsigned char *new_sha1, 291 const unsigned char *new_sha1,
292 filepair_fn fn, const char *prefix, int ignorews); 292 filepair_fn fn, const char *prefix, int ignorews);
293 293
294extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); 294extern void cgit_diff_commit(struct commit *commit, filepair_fn fn);
295 295
296__attribute__((format (printf,1,2)))
296extern char *fmt(const char *format,...); 297extern char *fmt(const char *format,...);
297 298
298extern struct commitinfo *cgit_parse_commit(struct commit *commit); 299extern struct commitinfo *cgit_parse_commit(struct commit *commit);
299extern struct taginfo *cgit_parse_tag(struct tag *tag); 300extern struct taginfo *cgit_parse_tag(struct tag *tag);
300extern void cgit_parse_url(const char *url); 301extern void cgit_parse_url(const char *url);
301 302
302extern const char *cgit_repobasename(const char *reponame); 303extern const char *cgit_repobasename(const char *reponame);
303 304
304extern int cgit_parse_snapshots_mask(const char *str); 305extern int cgit_parse_snapshots_mask(const char *str);
305 306
306extern int cgit_open_filter(struct cgit_filter *filter); 307extern int cgit_open_filter(struct cgit_filter *filter);
307extern int cgit_close_filter(struct cgit_filter *filter); 308extern int cgit_close_filter(struct cgit_filter *filter);
308 309
309extern int readfile(const char *path, char **buf, size_t *size); 310extern int readfile(const char *path, char **buf, size_t *size);
310 311
311extern char *expand_macros(const char *txt); 312extern char *expand_macros(const char *txt);
312 313
313#endif /* CGIT_H */ 314#endif /* CGIT_H */