-
Notifications
You must be signed in to change notification settings - Fork 7
/
patch-no-getcwd-link
115 lines (96 loc) · 2.6 KB
/
patch-no-getcwd-link
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
--- Include/fileutils.h
+++ Include/fileutils.h
@@ -100,9 +100,11 @@
size_t resolved_path_size);
#endif
+#ifdef HAVE_GETCWD
PyAPI_FUNC(wchar_t*) _Py_wgetcwd(
wchar_t *buf,
size_t size);
+#endif /* HAVE_GETCWD */
PyAPI_FUNC(int) _Py_get_inheritable(int fd);
--- Modules/clinic/posixmodule.c.h
+++ Modules/clinic/posixmodule.c.h
@@ -791,6 +791,8 @@
#endif /* defined(HAVE_LCHOWN) */
+#if (defined(MS_WINDOWS) || defined(HAVE_GETCWD))
+
PyDoc_STRVAR(os_getcwd__doc__,
"getcwd($module, /)\n"
"--\n"
@@ -809,6 +811,10 @@
return os_getcwd_impl(module);
}
+#endif /* (defined(MS_WINDOWS) || defined(HAVE_GETCWD)) */
+
+#if (defined(MS_WINDOWS) || defined(HAVE_GETCWD))
+
PyDoc_STRVAR(os_getcwdb__doc__,
"getcwdb($module, /)\n"
"--\n"
@@ -827,7 +833,9 @@
return os_getcwdb_impl(module);
}
-#if defined(HAVE_LINK)
+#endif /* (defined(MS_WINDOWS) || defined(HAVE_GETCWD)) */
+
+#if defined(HAVE_LINK) || defined(HAVE_LINKAT)
PyDoc_STRVAR(os_link__doc__,
"link($module, /, src, dst, *, src_dir_fd=None, dst_dir_fd=None,\n"
@@ -880,7 +888,7 @@
return return_value;
}
-#endif /* defined(HAVE_LINK) */
+#endif /* defined(HAVE_LINK) || defined(HAVE_LINKAT) */
PyDoc_STRVAR(os_listdir__doc__,
"listdir($module, /, path=None)\n"
@@ -5722,6 +5730,14 @@
#define OS_LCHOWN_METHODDEF
#endif /* !defined(OS_LCHOWN_METHODDEF) */
+#ifndef OS_GETCWD_METHODDEF
+ #define OS_GETCWD_METHODDEF
+#endif /* !defined(OS_GETCWD_METHODDEF) */
+
+#ifndef OS_GETCWDB_METHODDEF
+ #define OS_GETCWDB_METHODDEF
+#endif /* !defined(OS_GETCWDB_METHODDEF) */
+
#ifndef OS_LINK_METHODDEF
#define OS_LINK_METHODDEF
#endif /* !defined(OS_LINK_METHODDEF) */
--- Modules/posixmodule.c
+++ Modules/posixmodule.c
@@ -3179,6 +3179,7 @@
#endif /* HAVE_LCHOWN */
+#if defined(MS_WINDOWS) || defined(HAVE_GETCWD)
static PyObject *
posix_getcwd(int use_bytes)
{
@@ -3288,13 +3289,14 @@
{
return posix_getcwd(1);
}
+#endif /* MS_WINDOWS || HAVE_GETCWD */
#if ((!defined(HAVE_LINK)) && defined(MS_WINDOWS))
#define HAVE_LINK 1
#endif
-#ifdef HAVE_LINK
+#if defined(HAVE_LINK) || defined(HAVE_LINKAT)
/*[clinic input]
os.link
--- Python/fileutils.c
+++ Python/fileutils.c
@@ -1421,6 +1421,7 @@
including the null character. Decode the path from the locale encoding.
Return NULL on error. */
+#ifdef HAVE_GETCWD
wchar_t*
_Py_wgetcwd(wchar_t *buf, size_t size)
{
@@ -1446,6 +1447,7 @@
return buf;
#endif
}
+#endif /* HAVE_GETCWD */
/* Duplicate a file descriptor. The new file descriptor is created as
non-inheritable. Return a new file descriptor on success, raise an OSError