Jelajahi Sumber

Attempt to provide S_ISDIR if it's missing.

Jelmer Vernooij 4 tahun lalu
induk
melakukan
cbc84e64ee
2 mengubah file dengan 10 tambahan dan 0 penghapusan
  1. 5 0
      dulwich/_diff_tree.c
  2. 5 0
      dulwich/_objects.c

+ 5 - 0
dulwich/_diff_tree.c

@@ -270,6 +270,11 @@ done:
 	return result;
 }
 
+/* Not all environments define S_ISDIR */
+#if !defined(S_ISDIR) && defined(S_IFMT) && defined(S_IFDIR)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#endif
+
 static PyObject *py_is_tree(PyObject *self, PyObject *args)
 {
 	PyObject *entry, *mode, *result;

+ 5 - 0
dulwich/_objects.c

@@ -141,6 +141,11 @@ struct tree_item {
 	PyObject *tuple;
 };
 
+/* Not all environments define S_ISDIR */
+#if !defined(S_ISDIR) && defined(S_IFMT) && defined(S_IFDIR)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#endif
+
 int cmp_tree_item(const void *_a, const void *_b)
 {
 	const struct tree_item *a = _a, *b = _b;