Issue #20517: Functions in the os module that accept two filenames

now register both filenames in the exception on failure.
This required adding new C API functions allowing OSError exceptions
to reference two filenames instead of one.
This commit is contained in:
Larry Hastings 2014-02-09 22:05:19 -08:00
parent dc62b7e261
commit b082731fbb
10 changed files with 380 additions and 73 deletions

View file

@ -29,7 +29,7 @@
# reference to the item argument!
# The parameter names are as they appear in the API manual, not the source
# code.
# code.
PyBool_FromLong:PyObject*::+1:
PyBool_FromLong:long:v:0:
@ -317,6 +317,12 @@ PyErr_SetExcFromWindowsErrWithFilename:PyObject*:type:0:
PyErr_SetExcFromWindowsErrWithFilename:int:ierr::
PyErr_SetExcFromWindowsErrWithFilename:const char*:filename::
PyErr_SetExcFromWindowsErrWithFilenames:PyObject*::null:
PyErr_SetExcFromWindowsErrWithFilenames:PyObject*:type:0:
PyErr_SetExcFromWindowsErrWithFilenames:int:ierr::
PyErr_SetExcFromWindowsErrWithFilenames:const char*:filename::
PyErr_SetExcFromWindowsErrWithFilenames:const char*:filename2::
PyErr_SetFromErrno:PyObject*::null:
PyErr_SetFromErrno:PyObject*:type:0:
@ -324,6 +330,11 @@ PyErr_SetFromErrnoWithFilename:PyObject*::null:
PyErr_SetFromErrnoWithFilename:PyObject*:type:0:
PyErr_SetFromErrnoWithFilename:const char*:filename::
PyErr_SetFromErrnoWithFilenames:PyObject*::null:
PyErr_SetFromErrnoWithFilenames:PyObject*:type:0:
PyErr_SetFromErrnoWithFilenames:const char*:filename::
PyErr_SetFromErrnoWithFilenames:const char*:filename2::
PyErr_SetFromWindowsErr:PyObject*::null:
PyErr_SetFromWindowsErr:int:ierr::
@ -331,6 +342,11 @@ PyErr_SetFromWindowsErrWithFilename:PyObject*::null:
PyErr_SetFromWindowsErrWithFilename:int:ierr::
PyErr_SetFromWindowsErrWithFilename:const char*:filename::
PyErr_SetFromWindowsErrWithFilenames:PyObject*::null:
PyErr_SetFromWindowsErrWithFilenames:int:ierr::
PyErr_SetFromWindowsErrWithFilenames:const char*:filename::
PyErr_SetFromWindowsErrWithFilenames:const char*:filename2::
PyErr_SetInterrupt:void:::
PyErr_SetNone:void:::
@ -907,7 +923,7 @@ PyNumber_Xor:PyObject*::+1:
PyNumber_Xor:PyObject*:o1:0:
PyNumber_Xor:PyObject*:o2:0:
PyObject_AsFileDescriptor:int:::
PyObject_AsFileDescriptor:int:::
PyObject_AsFileDescriptor:PyObject*:o:0:
PyObject_Call:PyObject*::+1: