Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
afb3e71a
Commit
afb3e71a
authored
Dec 14, 2018
by
Serhiy Storchaka
Committed by
GitHub
Dec 14, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bpo-35489: Use "const Py_UNICODE *" for the Py_UNICODE converter in AC. (GH-11150)
parent
7b36016a
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
110 additions
and
98 deletions
+110
-98
Modules/_winapi.c
Modules/_winapi.c
+4
-3
Modules/arraymodule.c
Modules/arraymodule.c
+2
-2
Modules/clinic/_winapi.c.h
Modules/clinic/_winapi.c.h
+6
-5
Modules/clinic/arraymodule.c.h
Modules/clinic/arraymodule.c.h
+3
-3
Modules/clinic/posixmodule.c.h
Modules/clinic/posixmodule.c.h
+6
-5
Modules/posixmodule.c
Modules/posixmodule.c
+5
-4
PC/clinic/winreg.c.h
PC/clinic/winreg.c.h
+43
-39
PC/winreg.c
PC/winreg.c
+40
-36
Tools/clinic/clinic.py
Tools/clinic/clinic.py
+1
-1
No files found.
Modules/_winapi.c
View file @
afb3e71a
...
...
@@ -995,13 +995,14 @@ process ID, and thread ID.
[clinic start generated code]*/
static
PyObject
*
_winapi_CreateProcess_impl
(
PyObject
*
module
,
Py_UNICODE
*
application_name
,
_winapi_CreateProcess_impl
(
PyObject
*
module
,
const
Py_UNICODE
*
application_name
,
PyObject
*
command_line
,
PyObject
*
proc_attrs
,
PyObject
*
thread_attrs
,
BOOL
inherit_handles
,
DWORD
creation_flags
,
PyObject
*
env_mapping
,
Py_UNICODE
*
current_directory
,
const
Py_UNICODE
*
current_directory
,
PyObject
*
startup_info
)
/*[clinic end generated code: output=
2ecaab46a05e3123
input=42ac293eaea03fc4]*/
/*[clinic end generated code: output=
9b2423a609230132
input=42ac293eaea03fc4]*/
{
PyObject
*
ret
=
NULL
;
BOOL
result
;
...
...
Modules/arraymodule.c
View file @
afb3e71a
...
...
@@ -1712,9 +1712,9 @@ some other type.
[clinic start generated code]*/
static
PyObject
*
array_array_fromunicode_impl
(
arrayobject
*
self
,
Py_UNICODE
*
ustr
,
array_array_fromunicode_impl
(
arrayobject
*
self
,
const
Py_UNICODE
*
ustr
,
Py_ssize_clean_t
ustr_length
)
/*[clinic end generated code: output=
ebb72fc16975e06d
input=150f00566ffbca6e]*/
/*[clinic end generated code: output=
cf2f662908e2befc
input=150f00566ffbca6e]*/
{
char
typecode
;
...
...
Modules/clinic/_winapi.c.h
View file @
afb3e71a
...
...
@@ -300,25 +300,26 @@ PyDoc_STRVAR(_winapi_CreateProcess__doc__,
{"CreateProcess", (PyCFunction)(void(*)(void))_winapi_CreateProcess, METH_FASTCALL, _winapi_CreateProcess__doc__},
static
PyObject
*
_winapi_CreateProcess_impl
(
PyObject
*
module
,
Py_UNICODE
*
application_name
,
_winapi_CreateProcess_impl
(
PyObject
*
module
,
const
Py_UNICODE
*
application_name
,
PyObject
*
command_line
,
PyObject
*
proc_attrs
,
PyObject
*
thread_attrs
,
BOOL
inherit_handles
,
DWORD
creation_flags
,
PyObject
*
env_mapping
,
Py_UNICODE
*
current_directory
,
const
Py_UNICODE
*
current_directory
,
PyObject
*
startup_info
);
static
PyObject
*
_winapi_CreateProcess
(
PyObject
*
module
,
PyObject
*
const
*
args
,
Py_ssize_t
nargs
)
{
PyObject
*
return_value
=
NULL
;
Py_UNICODE
*
application_name
;
const
Py_UNICODE
*
application_name
;
PyObject
*
command_line
;
PyObject
*
proc_attrs
;
PyObject
*
thread_attrs
;
BOOL
inherit_handles
;
DWORD
creation_flags
;
PyObject
*
env_mapping
;
Py_UNICODE
*
current_directory
;
const
Py_UNICODE
*
current_directory
;
PyObject
*
startup_info
;
if
(
!
_PyArg_ParseStack
(
args
,
nargs
,
"ZOOOikOZO:CreateProcess"
,
...
...
@@ -943,4 +944,4 @@ _winapi_GetFileType(PyObject *module, PyObject *const *args, Py_ssize_t nargs, P
exit:
return
return_value
;
}
/*[clinic end generated code: output=1
568ad4bd625f2af
input=a9049054013a1b77]*/
/*[clinic end generated code: output=1
45d0d362167c1b1
input=a9049054013a1b77]*/
Modules/clinic/arraymodule.c.h
View file @
afb3e71a
...
...
@@ -376,14 +376,14 @@ PyDoc_STRVAR(array_array_fromunicode__doc__,
{"fromunicode", (PyCFunction)array_array_fromunicode, METH_O, array_array_fromunicode__doc__},
static
PyObject
*
array_array_fromunicode_impl
(
arrayobject
*
self
,
Py_UNICODE
*
ustr
,
array_array_fromunicode_impl
(
arrayobject
*
self
,
const
Py_UNICODE
*
ustr
,
Py_ssize_clean_t
ustr_length
);
static
PyObject
*
array_array_fromunicode
(
arrayobject
*
self
,
PyObject
*
arg
)
{
PyObject
*
return_value
=
NULL
;
Py_UNICODE
*
ustr
;
const
Py_UNICODE
*
ustr
;
Py_ssize_clean_t
ustr_length
;
if
(
!
PyArg_Parse
(
arg
,
"u#:fromunicode"
,
&
ustr
,
&
ustr_length
))
{
...
...
@@ -505,4 +505,4 @@ PyDoc_STRVAR(array_arrayiterator___setstate____doc__,
#define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF \
{"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__},
/*[clinic end generated code: output=3
a4c6f3deb597bf
d input=a9049054013a1b77]*/
/*[clinic end generated code: output=3
d2bb1aa81541cb
d input=a9049054013a1b77]*/
Modules/clinic/posixmodule.c.h
View file @
afb3e71a
...
...
@@ -1329,7 +1329,7 @@ PyDoc_STRVAR(os_system__doc__,
{"system", (PyCFunction)(void(*)(void))os_system, METH_FASTCALL|METH_KEYWORDS, os_system__doc__},
static
long
os_system_impl
(
PyObject
*
module
,
Py_UNICODE
*
command
);
os_system_impl
(
PyObject
*
module
,
const
Py_UNICODE
*
command
);
static
PyObject
*
os_system
(
PyObject
*
module
,
PyObject
*
const
*
args
,
Py_ssize_t
nargs
,
PyObject
*
kwnames
)
...
...
@@ -1337,7 +1337,7 @@ os_system(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *k
PyObject
*
return_value
=
NULL
;
static
const
char
*
const
_keywords
[]
=
{
"command"
,
NULL
};
static
_PyArg_Parser
_parser
=
{
"u:system"
,
_keywords
,
0
};
Py_UNICODE
*
command
;
const
Py_UNICODE
*
command
;
long
_return_value
;
if
(
!
_PyArg_ParseStackAndKeywords
(
args
,
nargs
,
kwnames
,
&
_parser
,
...
...
@@ -5327,7 +5327,8 @@ PyDoc_STRVAR(os_startfile__doc__,
{"startfile", (PyCFunction)(void(*)(void))os_startfile, METH_FASTCALL|METH_KEYWORDS, os_startfile__doc__},
static
PyObject
*
os_startfile_impl
(
PyObject
*
module
,
path_t
*
filepath
,
Py_UNICODE
*
operation
);
os_startfile_impl
(
PyObject
*
module
,
path_t
*
filepath
,
const
Py_UNICODE
*
operation
);
static
PyObject
*
os_startfile
(
PyObject
*
module
,
PyObject
*
const
*
args
,
Py_ssize_t
nargs
,
PyObject
*
kwnames
)
...
...
@@ -5336,7 +5337,7 @@ os_startfile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject
static
const
char
*
const
_keywords
[]
=
{
"filepath"
,
"operation"
,
NULL
};
static
_PyArg_Parser
_parser
=
{
"O&|u:startfile"
,
_keywords
,
0
};
path_t
filepath
=
PATH_T_INITIALIZE
(
"startfile"
,
"filepath"
,
0
,
0
);
Py_UNICODE
*
operation
=
NULL
;
const
Py_UNICODE
*
operation
=
NULL
;
if
(
!
_PyArg_ParseStackAndKeywords
(
args
,
nargs
,
kwnames
,
&
_parser
,
path_converter
,
&
filepath
,
&
operation
))
{
...
...
@@ -6757,4 +6758,4 @@ exit:
#ifndef OS_GETRANDOM_METHODDEF
#define OS_GETRANDOM_METHODDEF
#endif
/* !defined(OS_GETRANDOM_METHODDEF) */
/*[clinic end generated code: output=
d62c0bb988141e70
input=a9049054013a1b77]*/
/*[clinic end generated code: output=
7ebb53d872bab149
input=a9049054013a1b77]*/
Modules/posixmodule.c
View file @
afb3e71a
...
...
@@ -4215,8 +4215,8 @@ Execute the command in a subshell.
[clinic start generated code]*/
static
long
os_system_impl
(
PyObject
*
module
,
Py_UNICODE
*
command
)
/*[clinic end generated code: output=
96c4dffee36dfb48
input=303f5ce97df606b0]*/
os_system_impl
(
PyObject
*
module
,
const
Py_UNICODE
*
command
)
/*[clinic end generated code: output=
5b7c3599c068ca42
input=303f5ce97df606b0]*/
{
long
result
;
Py_BEGIN_ALLOW_THREADS
...
...
@@ -11224,8 +11224,9 @@ the underlying Win32 ShellExecute function doesn't work if it is.
[clinic start generated code]*/
static
PyObject
*
os_startfile_impl
(
PyObject
*
module
,
path_t
*
filepath
,
Py_UNICODE
*
operation
)
/*[clinic end generated code: output=912ceba79acfa1c9 input=63950bf2986380d0]*/
os_startfile_impl
(
PyObject
*
module
,
path_t
*
filepath
,
const
Py_UNICODE
*
operation
)
/*[clinic end generated code: output=66dc311c94d50797 input=63950bf2986380d0]*/
{
HINSTANCE
rc
;
...
...
PC/clinic/winreg.c.h
View file @
afb3e71a
This diff is collapsed.
Click to expand it.
PC/winreg.c
View file @
afb3e71a
...
...
@@ -825,9 +825,9 @@ If the function fails, an OSError exception is raised.
[clinic start generated code]*/
static
HKEY
winreg_ConnectRegistry_impl
(
PyObject
*
module
,
Py_UNICODE
*
computer_name
,
HKEY
key
)
/*[clinic end generated code: output=
5ab79d02aa3167b4
input=5f98a891a347e68e]*/
winreg_ConnectRegistry_impl
(
PyObject
*
module
,
const
Py_UNICODE
*
computer_name
,
HKEY
key
)
/*[clinic end generated code: output=
cd4f70fb9ec901fb
input=5f98a891a347e68e]*/
{
HKEY
retKey
;
long
rc
;
...
...
@@ -862,8 +862,8 @@ If the function fails, an OSError exception is raised.
[clinic start generated code]*/
static
HKEY
winreg_CreateKey_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
)
/*[clinic end generated code: output=
9c81d4095527c927
input=3cdd1622488acea2]*/
winreg_CreateKey_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
)
/*[clinic end generated code: output=
2af13910d56eae26
input=3cdd1622488acea2]*/
{
HKEY
retKey
;
long
rc
;
...
...
@@ -901,9 +901,10 @@ If the function fails, an OSError exception is raised.
[clinic start generated code]*/
static
HKEY
winreg_CreateKeyEx_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
,
int
reserved
,
REGSAM
access
)
/*[clinic end generated code: output=b9fce6dc5c4e39b1 input=42c2b03f98406b66]*/
winreg_CreateKeyEx_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
,
int
reserved
,
REGSAM
access
)
/*[clinic end generated code: output=643a70ad6a361a97 input=42c2b03f98406b66]*/
{
HKEY
retKey
;
long
rc
;
...
...
@@ -936,8 +937,8 @@ is removed. If the function fails, an OSError exception is raised.
[clinic start generated code]*/
static
PyObject
*
winreg_DeleteKey_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
)
/*[clinic end generated code: output=
7734b1e431991ae4
input=b31d225b935e4211]*/
winreg_DeleteKey_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
)
/*[clinic end generated code: output=
d2652a84f70e0862
input=b31d225b935e4211]*/
{
long
rc
;
rc
=
RegDeleteKeyW
(
key
,
sub_key
);
...
...
@@ -971,9 +972,10 @@ On unsupported Windows versions, NotImplementedError is raised.
[clinic start generated code]*/
static
PyObject
*
winreg_DeleteKeyEx_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
,
REGSAM
access
,
int
reserved
)
/*[clinic end generated code: output=01378d86ad3eb936 input=711d9d89e7ecbed7]*/
winreg_DeleteKeyEx_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
,
REGSAM
access
,
int
reserved
)
/*[clinic end generated code: output=52a1c8b374ebc003 input=711d9d89e7ecbed7]*/
{
HMODULE
hMod
;
typedef
LONG
(
WINAPI
*
RDKEFunc
)(
HKEY
,
const
wchar_t
*
,
REGSAM
,
int
);
...
...
@@ -1013,8 +1015,8 @@ Removes a named value from a registry key.
[clinic start generated code]*/
static
PyObject
*
winreg_DeleteValue_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
value
)
/*[clinic end generated code: output=
67e7e9a514f8495
1 input=a78d3407a4197b21]*/
winreg_DeleteValue_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
value
)
/*[clinic end generated code: output=
56fa9d21f3a5437
1 input=a78d3407a4197b21]*/
{
long
rc
;
Py_BEGIN_ALLOW_THREADS
...
...
@@ -1181,8 +1183,9 @@ Expand environment vars.
[clinic start generated code]*/
static
PyObject
*
winreg_ExpandEnvironmentStrings_impl
(
PyObject
*
module
,
Py_UNICODE
*
string
)
/*[clinic end generated code: output=cba46ac293a8af1a input=b2a9714d2b751aa6]*/
winreg_ExpandEnvironmentStrings_impl
(
PyObject
*
module
,
const
Py_UNICODE
*
string
)
/*[clinic end generated code: output=8fa4e959747a7312 input=b2a9714d2b751aa6]*/
{
wchar_t
*
retValue
=
NULL
;
DWORD
retValueSize
;
...
...
@@ -1274,9 +1277,9 @@ tree.
[clinic start generated code]*/
static
PyObject
*
winreg_LoadKey_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
,
Py_UNICODE
*
file_name
)
/*[clinic end generated code: output=
87344005c5905cde
input=e3b5b45ade311582]*/
winreg_LoadKey_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
,
const
Py_UNICODE
*
file_name
)
/*[clinic end generated code: output=
65f89f2548cb27c7
input=e3b5b45ade311582]*/
{
long
rc
;
...
...
@@ -1308,9 +1311,9 @@ If the function fails, an OSError exception is raised.
[clinic start generated code]*/
static
HKEY
winreg_OpenKey_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
,
winreg_OpenKey_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
,
int
reserved
,
REGSAM
access
)
/*[clinic end generated code: output=
a905f1b947f3ce85
input=098505ac36a9ae28]*/
/*[clinic end generated code: output=
8849bff2c30104ad
input=098505ac36a9ae28]*/
{
HKEY
retKey
;
long
rc
;
...
...
@@ -1335,9 +1338,9 @@ If the function fails, an OSError exception is raised.
[clinic start generated code]*/
static
HKEY
winreg_OpenKeyEx_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
,
winreg_OpenKeyEx_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
,
int
reserved
,
REGSAM
access
)
/*[clinic end generated code: output=
226042593b37e940
input=c6c4972af8622959]*/
/*[clinic end generated code: output=
81bc2bd684bc77ae
input=c6c4972af8622959]*/
{
return
winreg_OpenKey_impl
(
module
,
key
,
sub_key
,
reserved
,
access
);
}
...
...
@@ -1405,8 +1408,8 @@ completeness.
[clinic start generated code]*/
static
PyObject
*
winreg_QueryValue_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
)
/*[clinic end generated code: output=
2bb8d1e02c10d0b6
input=41cafbbf423b21d6]*/
winreg_QueryValue_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
)
/*[clinic end generated code: output=
c655810ae50c63a9
input=41cafbbf423b21d6]*/
{
long
rc
;
PyObject
*
retStr
;
...
...
@@ -1472,8 +1475,8 @@ The return value is a tuple of the value and the type_id.
[clinic start generated code]*/
static
PyObject
*
winreg_QueryValueEx_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
name
)
/*[clinic end generated code: output=
5b4fa3e33d6d3e8f
input=cf366cada4836891]*/
winreg_QueryValueEx_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
name
)
/*[clinic end generated code: output=
f1b85b1c3d887ec7
input=cf366cada4836891]*/
{
long
rc
;
BYTE
*
retBuf
,
*
tmp
;
...
...
@@ -1545,8 +1548,8 @@ to the API.
[clinic start generated code]*/
static
PyObject
*
winreg_SaveKey_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
file_name
)
/*[clinic end generated code: output=
1dda1502bd4c30d8
input=da735241f91ac7a2]*/
winreg_SaveKey_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
file_name
)
/*[clinic end generated code: output=
ca94b835c88f112b
input=da735241f91ac7a2]*/
{
LPSECURITY_ATTRIBUTES
pSA
=
NULL
;
...
...
@@ -1591,10 +1594,10 @@ KEY_SET_VALUE access.
[clinic start generated code]*/
static
PyObject
*
winreg_SetValue_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
sub_key
,
DWORD
type
,
Py_UNICODE
*
value
,
winreg_SetValue_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
sub_key
,
DWORD
type
,
const
Py_UNICODE
*
value
,
Py_ssize_clean_t
value_length
)
/*[clinic end generated code: output=
1e31931174820631
input=2cd2adab79339c53]*/
/*[clinic end generated code: output=
686bedb1cbb4367b
input=2cd2adab79339c53]*/
{
long
rc
;
...
...
@@ -1657,9 +1660,10 @@ the configuration registry to help the registry perform efficiently.
[clinic start generated code]*/
static
PyObject
*
winreg_SetValueEx_impl
(
PyObject
*
module
,
HKEY
key
,
Py_UNICODE
*
value_name
,
PyObject
*
reserved
,
DWORD
type
,
PyObject
*
value
)
/*[clinic end generated code: output=c88c8426b6c00ec7 input=900a9e3990bfb196]*/
winreg_SetValueEx_impl
(
PyObject
*
module
,
HKEY
key
,
const
Py_UNICODE
*
value_name
,
PyObject
*
reserved
,
DWORD
type
,
PyObject
*
value
)
/*[clinic end generated code: output=811b769a66ae11b7 input=900a9e3990bfb196]*/
{
BYTE
*
data
;
DWORD
len
;
...
...
Tools/clinic/clinic.py
View file @
afb3e71a
...
...
@@ -2858,7 +2858,7 @@ class unicode_converter(CConverter):
@
add_legacy_c_converter
(
'Z'
,
accept
=
{
str
,
NoneType
})
@
add_legacy_c_converter
(
'Z#'
,
accept
=
{
str
,
NoneType
},
zeroes
=
True
)
class
Py_UNICODE_converter
(
CConverter
):
type
=
'Py_UNICODE *'
type
=
'
const
Py_UNICODE *'
default_type
=
(
str
,
Null
,
NoneType
)
format_unit
=
'u'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment