Mercurial > hg
view mercurial/util.h @ 31355:77270ec0cdd9
revsetlang: slice out single bytes instead of indexing
For portability with Python 3.
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 12 Mar 2017 00:46:59 -0500 |
parents | 9b6ff0f940ed |
children | 7d0c69505a66 |
line wrap: on
line source
/* util.h - utility functions for interfacing with the various python APIs. This software may be used and distributed according to the terms of the GNU General Public License, incorporated herein by reference. */ #ifndef _HG_UTIL_H_ #define _HG_UTIL_H_ #include "compat.h" #if PY_MAJOR_VERSION >= 3 #define IS_PY3K #endif typedef struct { PyObject_HEAD char state; int mode; int size; int mtime; } dirstateTupleObject; extern PyTypeObject dirstateTupleType; #define dirstate_tuple_check(op) (Py_TYPE(op) == &dirstateTupleType) /* This should be kept in sync with normcasespecs in encoding.py. */ enum normcase_spec { NORMCASE_LOWER = -1, NORMCASE_UPPER = 1, NORMCASE_OTHER = 0 }; #define MIN(a, b) (((a)<(b))?(a):(b)) /* VC9 doesn't include bool and lacks stdbool.h based on my searching */ #if defined(_MSC_VER) || __STDC_VERSION__ < 199901L #define true 1 #define false 0 typedef unsigned char bool; #else #include <stdbool.h> #endif #endif /* _HG_UTIL_H_ */