Move the compat definitions to types.h Don't need a brand new header for two typedefs when we already have a types.h header. Change comment style to ANSI C. Signed-off-by: Vicent Marti <tanoku@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
diff --git a/src/common.h b/src/common.h
index addad6a..1ca0047 100644
--- a/src/common.h
+++ b/src/common.h
@@ -47,7 +47,7 @@ typedef SSIZE_T ssize_t;
#endif
#include "git2/common.h"
-#include "git2/compat.h"
+#include "git2/types.h"
#include "util.h"
#include "thread-utils.h"
#include "bswap.h"
diff --git a/src/git2.h b/src/git2.h
index fbd972b..9eb9294 100644
--- a/src/git2.h
+++ b/src/git2.h
@@ -27,7 +27,6 @@
#define INCLUDE_git_git_h__
#include "git2/common.h"
-#include "git2/compat.h"
#include "git2/errors.h"
#include "git2/zlib.h"
diff --git a/src/git2/compat.h b/src/git2/compat.h
deleted file mode 100644
index 76efae0..0000000
--- a/src/git2/compat.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * This file is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2,
- * as published by the Free Software Foundation.
- *
- * In addition to the permissions in the GNU General Public License,
- * the authors give you unlimited permission to link the compiled
- * version of this file into combinations with other programs,
- * and to distribute those combinations without any restriction
- * coming from the use of this file. (The General Public License
- * restrictions do apply in other respects; for example, they cover
- * modification of the file, and distribution when not linked into
- * a combined executable.)
- *
- * This file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING. If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef INCLUDE_git_compat_h__
-#define INCLUDE_git_compat_h__
-
-/**
- * @file git2/compat.h
- * @brief Type compatibility layer necessary for clients of the library.
- * @ingroup Git
- * @{
- */
-GIT_BEGIN_DECL
-
-// NOTE: This needs to be in a public header so that both the library
-// implementation and client applications both agree on the same types.
-// Otherwise we get undefined behavior.
-//
-// Use the "best" types that each platform provides. Currently we truncate
-// these intermediate representations for compatibility with the git ABI, but
-// if and when it changes to support 64 bit types, our code will naturally
-// adapt.
-//
-// NOTE: These types should match those that are returned by our internal
-// stat() functions, for all platforms.
-#if defined(_MSC_VER)
-
-typedef __int64 git_off_t;
-typedef __time64_t git_time_t;
-
-#elif defined(__MINGW32__)
-
-typedef off64_t git_off_t;
-typedef time_t git_time_t;
-
-#else // POSIX
-
-// Note: Can't use off_t since if a client program includes <sys/types.h>
-// before us (directly or indirectly), they'll get 32 bit off_t in their client
-// app, even though /we/ define _FILE_OFFSET_BITS=64.
-typedef long long git_off_t;
-typedef time_t git_time_t;
-
-#endif
-
-/** @} */
-GIT_END_DECL
-
-#endif
diff --git a/src/git2/types.h b/src/git2/types.h
index 99de332..de7b9bc 100644
--- a/src/git2/types.h
+++ b/src/git2/types.h
@@ -27,12 +27,49 @@
/**
* @file git2/types.h
- * @brief libgit2 base types
+ * @brief libgit2 base & compatibility types
* @ingroup Git
* @{
*/
GIT_BEGIN_DECL
+/**
+ * Cross-platform compatibility types for off_t / time_t
+ *
+ * NOTE: This needs to be in a public header so that both the library
+ * implementation and client applications both agree on the same types.
+ * Otherwise we get undefined behavior.
+ *
+ * Use the "best" types that each platform provides. Currently we truncate
+ * these intermediate representations for compatibility with the git ABI, but
+ * if and when it changes to support 64 bit types, our code will naturally
+ * adapt.
+ * NOTE: These types should match those that are returned by our internal
+ * stat() functions, for all platforms.
+ */
+#if defined(_MSC_VER)
+
+typedef __int64 git_off_t;
+typedef __time64_t git_time_t;
+
+#elif defined(__MINGW32__)
+
+typedef off64_t git_off_t;
+typedef time_t git_time_t;
+
+#else /* POSIX */
+
+/*
+ * Note: Can't use off_t since if a client program includes <sys/types.h>
+ * before us (directly or indirectly), they'll get 32 bit off_t in their client
+ * app, even though /we/ define _FILE_OFFSET_BITS=64.
+ */
+typedef long long git_off_t;
+typedef time_t git_time_t;
+
+#endif
+
+
/** Basic type (loose or packed) of any Git object. */
typedef enum {
GIT_OBJ_ANY = -2, /**< Object can be any of the following */
@@ -62,6 +99,7 @@ typedef struct git_repository git_repository;
/** Representation of a generic object in a repository */
typedef struct git_object git_object;
+/** Representation of an in-progress walk through the commits in a repo */
typedef struct git_revwalk git_revwalk;
/** Parsed representation of a tag object. */