push: fix segfault for odd config
[gitweb.git] / fsck.h
diff --git a/fsck.h b/fsck.h
index ba5514a818d90d23be06bd00474465797a61dc5a..990ee02335a2e2693e32baa82b259c23843f2aa0 100644 (file)
--- a/fsck.h
+++ b/fsck.h
@@ -1,6 +1,9 @@
 #ifndef GIT_FSCK_H
 #define GIT_FSCK_H
 
+#define FSCK_ERROR 1
+#define FSCK_WARN 2
+
 /*
  * callback function for fsck_walk
  * type is the expected type of the object or OBJ_ANY
  */
 typedef int (*fsck_walk_func)(struct object *obj, int type, void *data);
 
+/* callback for fsck_object, type is FSCK_ERROR or FSCK_WARN */
+typedef int (*fsck_error)(struct object *obj, int type, const char *err, ...);
+
+int fsck_error_function(struct object *obj, int type, const char *fmt, ...);
+
 /* descend in all linked child objects
  * the return value is:
  *    -1       error in processing the object
@@ -19,5 +27,6 @@ typedef int (*fsck_walk_func)(struct object *obj, int type, void *data);
  *    0                everything OK
  */
 int fsck_walk(struct object *obj, fsck_walk_func walk, void *data);
+int fsck_object(struct object *obj, int strict, fsck_error error_func);
 
 #endif