summaryrefslogtreecommitdiff
path: root/Tools/clinic/clinic.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/clinic/clinic.py')
-rwxr-xr-xTools/clinic/clinic.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
index 1bbbd4f9fb..5f2eb53e6a 100755
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -3103,6 +3103,19 @@ class size_t_converter(CConverter):
return super().parse_arg(argname, displayname)
+class fildes_converter(CConverter):
+ type = 'int'
+ converter = '_PyLong_FileDescriptor_Converter'
+
+ def _parse_arg(self, argname, displayname):
+ return """
+ {paramname} = PyObject_AsFileDescriptor({argname});
+ if ({paramname} == -1) {{{{
+ goto exit;
+ }}}}
+ """.format(argname=argname, paramname=self.name)
+
+
class float_converter(CConverter):
type = 'float'
default_type = float