Mercurial > hg
annotate mercurial/util.h @ 13944:bc32bb0e909f
util: new function checkfilename
checkfilename checks for restrictions on filenames imposed by Mercurial
itself, irrespective of on what platform it is run.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 15 Apr 2011 16:15:30 +0200 |
parents | a4e0908ce35b |
children | f542d291c4f2 |
rev | line source |
---|---|
11358
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
1 /* |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
2 util.h - utility functions for interfacing with the various python APIs. |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
3 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
4 This software may be used and distributed according to the terms of |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
5 the GNU General Public License, incorporated herein by reference. |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
6 */ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
7 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
8 #ifndef _HG_UTIL_H_ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
9 #define _HG_UTIL_H_ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
10 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
11 #if PY_MAJOR_VERSION >= 3 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
12 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
13 #define IS_PY3K |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
14 #define PyInt_FromLong PyLong_FromLong |
11534
9777a3b19efe
util.h: Add a PyInt_AsLong definition for usage in the inotify module.
Renato Cunha <renatoc@gmail.com>
parents:
11358
diff
changeset
|
15 #define PyInt_AsLong PyLong_AsLong |
11358
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
16 |
11535
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
17 /* |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
18 Mapping of some of the python < 2.x PyString* functions to py3k's PyUnicode. |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
19 |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
20 The commented names below represent those that are present in the PyBytes |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
21 definitions for python < 2.6 (below in this file) that don't have a direct |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
22 implementation. |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
23 */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
24 |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
25 #define PyStringObject PyUnicodeObject |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
26 #define PyString_Type PyUnicode_Type |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
27 |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
28 #define PyString_Check PyUnicode_Check |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
29 #define PyString_CheckExact PyUnicode_CheckExact |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
30 #define PyString_CHECK_INTERNED PyUnicode_CHECK_INTERNED |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
31 #define PyString_AS_STRING PyUnicode_AsLatin1String |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
32 #define PyString_GET_SIZE PyUnicode_GET_SIZE |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
33 |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
34 #define PyString_FromStringAndSize PyUnicode_FromStringAndSize |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
35 #define PyString_FromString PyUnicode_FromString |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
36 #define PyString_FromFormatV PyUnicode_FromFormatV |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
37 #define PyString_FromFormat PyUnicode_FromFormat |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
38 /* #define PyString_Size PyUnicode_GET_SIZE */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
39 /* #define PyString_AsString */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
40 /* #define PyString_Repr */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
41 #define PyString_Concat PyUnicode_Concat |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
42 #define PyString_ConcatAndDel PyUnicode_AppendAndDel |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
43 #define _PyString_Resize PyUnicode_Resize |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
44 /* #define _PyString_Eq */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
45 #define PyString_Format PyUnicode_Format |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
46 /* #define _PyString_FormatLong */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
47 /* #define PyString_DecodeEscape */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
48 #define _PyString_Join PyUnicode_Join |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
49 #define PyString_Decode PyUnicode_Decode |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
50 #define PyString_Encode PyUnicode_Encode |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
51 #define PyString_AsEncodedObject PyUnicode_AsEncodedObject |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
52 #define PyString_AsEncodedString PyUnicode_AsEncodedString |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
53 #define PyString_AsDecodedObject PyUnicode_AsDecodedObject |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
54 #define PyString_AsDecodedString PyUnicode_AsDecodedUnicode |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
55 /* #define PyString_AsStringAndSize */ |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
56 #define _PyString_InsertThousandsGrouping _PyUnicode_InsertThousandsGrouping |
09cb56b760b4
util.h: Defined macros for working "with" PyStrings in py3k.
Renato Cunha <renatoc@gmail.com>
parents:
11534
diff
changeset
|
57 |
11358
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
58 #endif /* PY_MAJOR_VERSION */ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
59 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
60 /* Backports from 2.6 */ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
61 #if PY_VERSION_HEX < 0x02060000 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
62 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
63 #define Py_TYPE(ob) (ob)->ob_type |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
64 #define Py_SIZE(ob) (ob)->ob_size |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
65 #define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(type) size, |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
66 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
67 /* Shamelessly stolen from bytesobject.h */ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
68 #define PyBytesObject PyStringObject |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
69 #define PyBytes_Type PyString_Type |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
70 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
71 #define PyBytes_Check PyString_Check |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
72 #define PyBytes_CheckExact PyString_CheckExact |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
73 #define PyBytes_CHECK_INTERNED PyString_CHECK_INTERNED |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
74 #define PyBytes_AS_STRING PyString_AS_STRING |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
75 #define PyBytes_GET_SIZE PyString_GET_SIZE |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
76 #define Py_TPFLAGS_BYTES_SUBCLASS Py_TPFLAGS_STRING_SUBCLASS |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
77 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
78 #define PyBytes_FromStringAndSize PyString_FromStringAndSize |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
79 #define PyBytes_FromString PyString_FromString |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
80 #define PyBytes_FromFormatV PyString_FromFormatV |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
81 #define PyBytes_FromFormat PyString_FromFormat |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
82 #define PyBytes_Size PyString_Size |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
83 #define PyBytes_AsString PyString_AsString |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
84 #define PyBytes_Repr PyString_Repr |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
85 #define PyBytes_Concat PyString_Concat |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
86 #define PyBytes_ConcatAndDel PyString_ConcatAndDel |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
87 #define _PyBytes_Resize _PyString_Resize |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
88 #define _PyBytes_Eq _PyString_Eq |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
89 #define PyBytes_Format PyString_Format |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
90 #define _PyBytes_FormatLong _PyString_FormatLong |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
91 #define PyBytes_DecodeEscape PyString_DecodeEscape |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
92 #define _PyBytes_Join _PyString_Join |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
93 #define PyBytes_Decode PyString_Decode |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
94 #define PyBytes_Encode PyString_Encode |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
95 #define PyBytes_AsEncodedObject PyString_AsEncodedObject |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
96 #define PyBytes_AsEncodedString PyString_AsEncodedString |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
97 #define PyBytes_AsDecodedObject PyString_AsDecodedObject |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
98 #define PyBytes_AsDecodedString PyString_AsDecodedString |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
99 #define PyBytes_AsStringAndSize PyString_AsStringAndSize |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
100 #define _PyBytes_InsertThousandsGrouping _PyString_InsertThousandsGrouping |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
101 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
102 #endif /* PY_VERSION_HEX */ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
103 |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
104 #endif /* _HG_UTIL_H_ */ |
4494fb02d549
util.h: Utility macros for handling different Python APIs.
Renato Cunha <renatoc@gmail.com>
parents:
diff
changeset
|
105 |