1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4
5 PyDoc_STRVAR(_io__BufferedIOBase_readinto__doc__,
6 "readinto($self, buffer, /)\n"
7 "--\n"
8 "\n");
9
10 #define _IO__BUFFEREDIOBASE_READINTO_METHODDEF \
11 {"readinto", (PyCFunction)_io__BufferedIOBase_readinto, METH_O, _io__BufferedIOBase_readinto__doc__},
12
13 static PyObject *
14 _io__BufferedIOBase_readinto_impl(PyObject *self, Py_buffer *buffer);
15
16 static PyObject *
_io__BufferedIOBase_readinto(PyObject * self,PyObject * arg)17 _io__BufferedIOBase_readinto(PyObject *self, PyObject *arg)
18 {
19 PyObject *return_value = NULL;
20 Py_buffer buffer = {NULL, NULL};
21
22 if (PyObject_GetBuffer(arg, &buffer, PyBUF_WRITABLE) < 0) {
23 PyErr_Clear();
24 _PyArg_BadArgument("readinto", "argument", "read-write bytes-like object", arg);
25 goto exit;
26 }
27 if (!PyBuffer_IsContiguous(&buffer, 'C')) {
28 _PyArg_BadArgument("readinto", "argument", "contiguous buffer", arg);
29 goto exit;
30 }
31 return_value = _io__BufferedIOBase_readinto_impl(self, &buffer);
32
33 exit:
34 /* Cleanup for buffer */
35 if (buffer.obj) {
36 PyBuffer_Release(&buffer);
37 }
38
39 return return_value;
40 }
41
42 PyDoc_STRVAR(_io__BufferedIOBase_readinto1__doc__,
43 "readinto1($self, buffer, /)\n"
44 "--\n"
45 "\n");
46
47 #define _IO__BUFFEREDIOBASE_READINTO1_METHODDEF \
48 {"readinto1", (PyCFunction)_io__BufferedIOBase_readinto1, METH_O, _io__BufferedIOBase_readinto1__doc__},
49
50 static PyObject *
51 _io__BufferedIOBase_readinto1_impl(PyObject *self, Py_buffer *buffer);
52
53 static PyObject *
_io__BufferedIOBase_readinto1(PyObject * self,PyObject * arg)54 _io__BufferedIOBase_readinto1(PyObject *self, PyObject *arg)
55 {
56 PyObject *return_value = NULL;
57 Py_buffer buffer = {NULL, NULL};
58
59 if (PyObject_GetBuffer(arg, &buffer, PyBUF_WRITABLE) < 0) {
60 PyErr_Clear();
61 _PyArg_BadArgument("readinto1", "argument", "read-write bytes-like object", arg);
62 goto exit;
63 }
64 if (!PyBuffer_IsContiguous(&buffer, 'C')) {
65 _PyArg_BadArgument("readinto1", "argument", "contiguous buffer", arg);
66 goto exit;
67 }
68 return_value = _io__BufferedIOBase_readinto1_impl(self, &buffer);
69
70 exit:
71 /* Cleanup for buffer */
72 if (buffer.obj) {
73 PyBuffer_Release(&buffer);
74 }
75
76 return return_value;
77 }
78
79 PyDoc_STRVAR(_io__BufferedIOBase_detach__doc__,
80 "detach($self, /)\n"
81 "--\n"
82 "\n"
83 "Disconnect this buffer from its underlying raw stream and return it.\n"
84 "\n"
85 "After the raw stream has been detached, the buffer is in an unusable\n"
86 "state.");
87
88 #define _IO__BUFFEREDIOBASE_DETACH_METHODDEF \
89 {"detach", (PyCFunction)_io__BufferedIOBase_detach, METH_NOARGS, _io__BufferedIOBase_detach__doc__},
90
91 static PyObject *
92 _io__BufferedIOBase_detach_impl(PyObject *self);
93
94 static PyObject *
_io__BufferedIOBase_detach(PyObject * self,PyObject * Py_UNUSED (ignored))95 _io__BufferedIOBase_detach(PyObject *self, PyObject *Py_UNUSED(ignored))
96 {
97 return _io__BufferedIOBase_detach_impl(self);
98 }
99
100 PyDoc_STRVAR(_io__Buffered_peek__doc__,
101 "peek($self, size=0, /)\n"
102 "--\n"
103 "\n");
104
105 #define _IO__BUFFERED_PEEK_METHODDEF \
106 {"peek", (PyCFunction)(void(*)(void))_io__Buffered_peek, METH_FASTCALL, _io__Buffered_peek__doc__},
107
108 static PyObject *
109 _io__Buffered_peek_impl(buffered *self, Py_ssize_t size);
110
111 static PyObject *
_io__Buffered_peek(buffered * self,PyObject * const * args,Py_ssize_t nargs)112 _io__Buffered_peek(buffered *self, PyObject *const *args, Py_ssize_t nargs)
113 {
114 PyObject *return_value = NULL;
115 Py_ssize_t size = 0;
116
117 if (!_PyArg_CheckPositional("peek", nargs, 0, 1)) {
118 goto exit;
119 }
120 if (nargs < 1) {
121 goto skip_optional;
122 }
123 {
124 Py_ssize_t ival = -1;
125 PyObject *iobj = _PyNumber_Index(args[0]);
126 if (iobj != NULL) {
127 ival = PyLong_AsSsize_t(iobj);
128 Py_DECREF(iobj);
129 }
130 if (ival == -1 && PyErr_Occurred()) {
131 goto exit;
132 }
133 size = ival;
134 }
135 skip_optional:
136 return_value = _io__Buffered_peek_impl(self, size);
137
138 exit:
139 return return_value;
140 }
141
142 PyDoc_STRVAR(_io__Buffered_read__doc__,
143 "read($self, size=-1, /)\n"
144 "--\n"
145 "\n");
146
147 #define _IO__BUFFERED_READ_METHODDEF \
148 {"read", (PyCFunction)(void(*)(void))_io__Buffered_read, METH_FASTCALL, _io__Buffered_read__doc__},
149
150 static PyObject *
151 _io__Buffered_read_impl(buffered *self, Py_ssize_t n);
152
153 static PyObject *
_io__Buffered_read(buffered * self,PyObject * const * args,Py_ssize_t nargs)154 _io__Buffered_read(buffered *self, PyObject *const *args, Py_ssize_t nargs)
155 {
156 PyObject *return_value = NULL;
157 Py_ssize_t n = -1;
158
159 if (!_PyArg_CheckPositional("read", nargs, 0, 1)) {
160 goto exit;
161 }
162 if (nargs < 1) {
163 goto skip_optional;
164 }
165 if (!_Py_convert_optional_to_ssize_t(args[0], &n)) {
166 goto exit;
167 }
168 skip_optional:
169 return_value = _io__Buffered_read_impl(self, n);
170
171 exit:
172 return return_value;
173 }
174
175 PyDoc_STRVAR(_io__Buffered_read1__doc__,
176 "read1($self, size=-1, /)\n"
177 "--\n"
178 "\n");
179
180 #define _IO__BUFFERED_READ1_METHODDEF \
181 {"read1", (PyCFunction)(void(*)(void))_io__Buffered_read1, METH_FASTCALL, _io__Buffered_read1__doc__},
182
183 static PyObject *
184 _io__Buffered_read1_impl(buffered *self, Py_ssize_t n);
185
186 static PyObject *
_io__Buffered_read1(buffered * self,PyObject * const * args,Py_ssize_t nargs)187 _io__Buffered_read1(buffered *self, PyObject *const *args, Py_ssize_t nargs)
188 {
189 PyObject *return_value = NULL;
190 Py_ssize_t n = -1;
191
192 if (!_PyArg_CheckPositional("read1", nargs, 0, 1)) {
193 goto exit;
194 }
195 if (nargs < 1) {
196 goto skip_optional;
197 }
198 {
199 Py_ssize_t ival = -1;
200 PyObject *iobj = _PyNumber_Index(args[0]);
201 if (iobj != NULL) {
202 ival = PyLong_AsSsize_t(iobj);
203 Py_DECREF(iobj);
204 }
205 if (ival == -1 && PyErr_Occurred()) {
206 goto exit;
207 }
208 n = ival;
209 }
210 skip_optional:
211 return_value = _io__Buffered_read1_impl(self, n);
212
213 exit:
214 return return_value;
215 }
216
217 PyDoc_STRVAR(_io__Buffered_readinto__doc__,
218 "readinto($self, buffer, /)\n"
219 "--\n"
220 "\n");
221
222 #define _IO__BUFFERED_READINTO_METHODDEF \
223 {"readinto", (PyCFunction)_io__Buffered_readinto, METH_O, _io__Buffered_readinto__doc__},
224
225 static PyObject *
226 _io__Buffered_readinto_impl(buffered *self, Py_buffer *buffer);
227
228 static PyObject *
_io__Buffered_readinto(buffered * self,PyObject * arg)229 _io__Buffered_readinto(buffered *self, PyObject *arg)
230 {
231 PyObject *return_value = NULL;
232 Py_buffer buffer = {NULL, NULL};
233
234 if (PyObject_GetBuffer(arg, &buffer, PyBUF_WRITABLE) < 0) {
235 PyErr_Clear();
236 _PyArg_BadArgument("readinto", "argument", "read-write bytes-like object", arg);
237 goto exit;
238 }
239 if (!PyBuffer_IsContiguous(&buffer, 'C')) {
240 _PyArg_BadArgument("readinto", "argument", "contiguous buffer", arg);
241 goto exit;
242 }
243 return_value = _io__Buffered_readinto_impl(self, &buffer);
244
245 exit:
246 /* Cleanup for buffer */
247 if (buffer.obj) {
248 PyBuffer_Release(&buffer);
249 }
250
251 return return_value;
252 }
253
254 PyDoc_STRVAR(_io__Buffered_readinto1__doc__,
255 "readinto1($self, buffer, /)\n"
256 "--\n"
257 "\n");
258
259 #define _IO__BUFFERED_READINTO1_METHODDEF \
260 {"readinto1", (PyCFunction)_io__Buffered_readinto1, METH_O, _io__Buffered_readinto1__doc__},
261
262 static PyObject *
263 _io__Buffered_readinto1_impl(buffered *self, Py_buffer *buffer);
264
265 static PyObject *
_io__Buffered_readinto1(buffered * self,PyObject * arg)266 _io__Buffered_readinto1(buffered *self, PyObject *arg)
267 {
268 PyObject *return_value = NULL;
269 Py_buffer buffer = {NULL, NULL};
270
271 if (PyObject_GetBuffer(arg, &buffer, PyBUF_WRITABLE) < 0) {
272 PyErr_Clear();
273 _PyArg_BadArgument("readinto1", "argument", "read-write bytes-like object", arg);
274 goto exit;
275 }
276 if (!PyBuffer_IsContiguous(&buffer, 'C')) {
277 _PyArg_BadArgument("readinto1", "argument", "contiguous buffer", arg);
278 goto exit;
279 }
280 return_value = _io__Buffered_readinto1_impl(self, &buffer);
281
282 exit:
283 /* Cleanup for buffer */
284 if (buffer.obj) {
285 PyBuffer_Release(&buffer);
286 }
287
288 return return_value;
289 }
290
291 PyDoc_STRVAR(_io__Buffered_readline__doc__,
292 "readline($self, size=-1, /)\n"
293 "--\n"
294 "\n");
295
296 #define _IO__BUFFERED_READLINE_METHODDEF \
297 {"readline", (PyCFunction)(void(*)(void))_io__Buffered_readline, METH_FASTCALL, _io__Buffered_readline__doc__},
298
299 static PyObject *
300 _io__Buffered_readline_impl(buffered *self, Py_ssize_t size);
301
302 static PyObject *
_io__Buffered_readline(buffered * self,PyObject * const * args,Py_ssize_t nargs)303 _io__Buffered_readline(buffered *self, PyObject *const *args, Py_ssize_t nargs)
304 {
305 PyObject *return_value = NULL;
306 Py_ssize_t size = -1;
307
308 if (!_PyArg_CheckPositional("readline", nargs, 0, 1)) {
309 goto exit;
310 }
311 if (nargs < 1) {
312 goto skip_optional;
313 }
314 if (!_Py_convert_optional_to_ssize_t(args[0], &size)) {
315 goto exit;
316 }
317 skip_optional:
318 return_value = _io__Buffered_readline_impl(self, size);
319
320 exit:
321 return return_value;
322 }
323
324 PyDoc_STRVAR(_io__Buffered_seek__doc__,
325 "seek($self, target, whence=0, /)\n"
326 "--\n"
327 "\n");
328
329 #define _IO__BUFFERED_SEEK_METHODDEF \
330 {"seek", (PyCFunction)(void(*)(void))_io__Buffered_seek, METH_FASTCALL, _io__Buffered_seek__doc__},
331
332 static PyObject *
333 _io__Buffered_seek_impl(buffered *self, PyObject *targetobj, int whence);
334
335 static PyObject *
_io__Buffered_seek(buffered * self,PyObject * const * args,Py_ssize_t nargs)336 _io__Buffered_seek(buffered *self, PyObject *const *args, Py_ssize_t nargs)
337 {
338 PyObject *return_value = NULL;
339 PyObject *targetobj;
340 int whence = 0;
341
342 if (!_PyArg_CheckPositional("seek", nargs, 1, 2)) {
343 goto exit;
344 }
345 targetobj = args[0];
346 if (nargs < 2) {
347 goto skip_optional;
348 }
349 whence = _PyLong_AsInt(args[1]);
350 if (whence == -1 && PyErr_Occurred()) {
351 goto exit;
352 }
353 skip_optional:
354 return_value = _io__Buffered_seek_impl(self, targetobj, whence);
355
356 exit:
357 return return_value;
358 }
359
360 PyDoc_STRVAR(_io__Buffered_truncate__doc__,
361 "truncate($self, pos=None, /)\n"
362 "--\n"
363 "\n");
364
365 #define _IO__BUFFERED_TRUNCATE_METHODDEF \
366 {"truncate", (PyCFunction)(void(*)(void))_io__Buffered_truncate, METH_FASTCALL, _io__Buffered_truncate__doc__},
367
368 static PyObject *
369 _io__Buffered_truncate_impl(buffered *self, PyObject *pos);
370
371 static PyObject *
_io__Buffered_truncate(buffered * self,PyObject * const * args,Py_ssize_t nargs)372 _io__Buffered_truncate(buffered *self, PyObject *const *args, Py_ssize_t nargs)
373 {
374 PyObject *return_value = NULL;
375 PyObject *pos = Py_None;
376
377 if (!_PyArg_CheckPositional("truncate", nargs, 0, 1)) {
378 goto exit;
379 }
380 if (nargs < 1) {
381 goto skip_optional;
382 }
383 pos = args[0];
384 skip_optional:
385 return_value = _io__Buffered_truncate_impl(self, pos);
386
387 exit:
388 return return_value;
389 }
390
391 PyDoc_STRVAR(_io_BufferedReader___init____doc__,
392 "BufferedReader(raw, buffer_size=DEFAULT_BUFFER_SIZE)\n"
393 "--\n"
394 "\n"
395 "Create a new buffered reader using the given readable raw IO object.");
396
397 static int
398 _io_BufferedReader___init___impl(buffered *self, PyObject *raw,
399 Py_ssize_t buffer_size);
400
401 static int
_io_BufferedReader___init__(PyObject * self,PyObject * args,PyObject * kwargs)402 _io_BufferedReader___init__(PyObject *self, PyObject *args, PyObject *kwargs)
403 {
404 int return_value = -1;
405 static const char * const _keywords[] = {"raw", "buffer_size", NULL};
406 static _PyArg_Parser _parser = {NULL, _keywords, "BufferedReader", 0};
407 PyObject *argsbuf[2];
408 PyObject * const *fastargs;
409 Py_ssize_t nargs = PyTuple_GET_SIZE(args);
410 Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 1;
411 PyObject *raw;
412 Py_ssize_t buffer_size = DEFAULT_BUFFER_SIZE;
413
414 fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 1, 2, 0, argsbuf);
415 if (!fastargs) {
416 goto exit;
417 }
418 raw = fastargs[0];
419 if (!noptargs) {
420 goto skip_optional_pos;
421 }
422 {
423 Py_ssize_t ival = -1;
424 PyObject *iobj = _PyNumber_Index(fastargs[1]);
425 if (iobj != NULL) {
426 ival = PyLong_AsSsize_t(iobj);
427 Py_DECREF(iobj);
428 }
429 if (ival == -1 && PyErr_Occurred()) {
430 goto exit;
431 }
432 buffer_size = ival;
433 }
434 skip_optional_pos:
435 return_value = _io_BufferedReader___init___impl((buffered *)self, raw, buffer_size);
436
437 exit:
438 return return_value;
439 }
440
441 PyDoc_STRVAR(_io_BufferedWriter___init____doc__,
442 "BufferedWriter(raw, buffer_size=DEFAULT_BUFFER_SIZE)\n"
443 "--\n"
444 "\n"
445 "A buffer for a writeable sequential RawIO object.\n"
446 "\n"
447 "The constructor creates a BufferedWriter for the given writeable raw\n"
448 "stream. If the buffer_size is not given, it defaults to\n"
449 "DEFAULT_BUFFER_SIZE.");
450
451 static int
452 _io_BufferedWriter___init___impl(buffered *self, PyObject *raw,
453 Py_ssize_t buffer_size);
454
455 static int
_io_BufferedWriter___init__(PyObject * self,PyObject * args,PyObject * kwargs)456 _io_BufferedWriter___init__(PyObject *self, PyObject *args, PyObject *kwargs)
457 {
458 int return_value = -1;
459 static const char * const _keywords[] = {"raw", "buffer_size", NULL};
460 static _PyArg_Parser _parser = {NULL, _keywords, "BufferedWriter", 0};
461 PyObject *argsbuf[2];
462 PyObject * const *fastargs;
463 Py_ssize_t nargs = PyTuple_GET_SIZE(args);
464 Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 1;
465 PyObject *raw;
466 Py_ssize_t buffer_size = DEFAULT_BUFFER_SIZE;
467
468 fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 1, 2, 0, argsbuf);
469 if (!fastargs) {
470 goto exit;
471 }
472 raw = fastargs[0];
473 if (!noptargs) {
474 goto skip_optional_pos;
475 }
476 {
477 Py_ssize_t ival = -1;
478 PyObject *iobj = _PyNumber_Index(fastargs[1]);
479 if (iobj != NULL) {
480 ival = PyLong_AsSsize_t(iobj);
481 Py_DECREF(iobj);
482 }
483 if (ival == -1 && PyErr_Occurred()) {
484 goto exit;
485 }
486 buffer_size = ival;
487 }
488 skip_optional_pos:
489 return_value = _io_BufferedWriter___init___impl((buffered *)self, raw, buffer_size);
490
491 exit:
492 return return_value;
493 }
494
495 PyDoc_STRVAR(_io_BufferedWriter_write__doc__,
496 "write($self, buffer, /)\n"
497 "--\n"
498 "\n");
499
500 #define _IO_BUFFEREDWRITER_WRITE_METHODDEF \
501 {"write", (PyCFunction)_io_BufferedWriter_write, METH_O, _io_BufferedWriter_write__doc__},
502
503 static PyObject *
504 _io_BufferedWriter_write_impl(buffered *self, Py_buffer *buffer);
505
506 static PyObject *
_io_BufferedWriter_write(buffered * self,PyObject * arg)507 _io_BufferedWriter_write(buffered *self, PyObject *arg)
508 {
509 PyObject *return_value = NULL;
510 Py_buffer buffer = {NULL, NULL};
511
512 if (PyObject_GetBuffer(arg, &buffer, PyBUF_SIMPLE) != 0) {
513 goto exit;
514 }
515 if (!PyBuffer_IsContiguous(&buffer, 'C')) {
516 _PyArg_BadArgument("write", "argument", "contiguous buffer", arg);
517 goto exit;
518 }
519 return_value = _io_BufferedWriter_write_impl(self, &buffer);
520
521 exit:
522 /* Cleanup for buffer */
523 if (buffer.obj) {
524 PyBuffer_Release(&buffer);
525 }
526
527 return return_value;
528 }
529
530 PyDoc_STRVAR(_io_BufferedRWPair___init____doc__,
531 "BufferedRWPair(reader, writer, buffer_size=DEFAULT_BUFFER_SIZE, /)\n"
532 "--\n"
533 "\n"
534 "A buffered reader and writer object together.\n"
535 "\n"
536 "A buffered reader object and buffered writer object put together to\n"
537 "form a sequential IO object that can read and write. This is typically\n"
538 "used with a socket or two-way pipe.\n"
539 "\n"
540 "reader and writer are RawIOBase objects that are readable and\n"
541 "writeable respectively. If the buffer_size is omitted it defaults to\n"
542 "DEFAULT_BUFFER_SIZE.");
543
544 static int
545 _io_BufferedRWPair___init___impl(rwpair *self, PyObject *reader,
546 PyObject *writer, Py_ssize_t buffer_size);
547
548 static int
_io_BufferedRWPair___init__(PyObject * self,PyObject * args,PyObject * kwargs)549 _io_BufferedRWPair___init__(PyObject *self, PyObject *args, PyObject *kwargs)
550 {
551 int return_value = -1;
552 PyObject *reader;
553 PyObject *writer;
554 Py_ssize_t buffer_size = DEFAULT_BUFFER_SIZE;
555
556 if (Py_IS_TYPE(self, &PyBufferedRWPair_Type) &&
557 !_PyArg_NoKeywords("BufferedRWPair", kwargs)) {
558 goto exit;
559 }
560 if (!_PyArg_CheckPositional("BufferedRWPair", PyTuple_GET_SIZE(args), 2, 3)) {
561 goto exit;
562 }
563 reader = PyTuple_GET_ITEM(args, 0);
564 writer = PyTuple_GET_ITEM(args, 1);
565 if (PyTuple_GET_SIZE(args) < 3) {
566 goto skip_optional;
567 }
568 {
569 Py_ssize_t ival = -1;
570 PyObject *iobj = _PyNumber_Index(PyTuple_GET_ITEM(args, 2));
571 if (iobj != NULL) {
572 ival = PyLong_AsSsize_t(iobj);
573 Py_DECREF(iobj);
574 }
575 if (ival == -1 && PyErr_Occurred()) {
576 goto exit;
577 }
578 buffer_size = ival;
579 }
580 skip_optional:
581 return_value = _io_BufferedRWPair___init___impl((rwpair *)self, reader, writer, buffer_size);
582
583 exit:
584 return return_value;
585 }
586
587 PyDoc_STRVAR(_io_BufferedRandom___init____doc__,
588 "BufferedRandom(raw, buffer_size=DEFAULT_BUFFER_SIZE)\n"
589 "--\n"
590 "\n"
591 "A buffered interface to random access streams.\n"
592 "\n"
593 "The constructor creates a reader and writer for a seekable stream,\n"
594 "raw, given in the first argument. If the buffer_size is omitted it\n"
595 "defaults to DEFAULT_BUFFER_SIZE.");
596
597 static int
598 _io_BufferedRandom___init___impl(buffered *self, PyObject *raw,
599 Py_ssize_t buffer_size);
600
601 static int
_io_BufferedRandom___init__(PyObject * self,PyObject * args,PyObject * kwargs)602 _io_BufferedRandom___init__(PyObject *self, PyObject *args, PyObject *kwargs)
603 {
604 int return_value = -1;
605 static const char * const _keywords[] = {"raw", "buffer_size", NULL};
606 static _PyArg_Parser _parser = {NULL, _keywords, "BufferedRandom", 0};
607 PyObject *argsbuf[2];
608 PyObject * const *fastargs;
609 Py_ssize_t nargs = PyTuple_GET_SIZE(args);
610 Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 1;
611 PyObject *raw;
612 Py_ssize_t buffer_size = DEFAULT_BUFFER_SIZE;
613
614 fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 1, 2, 0, argsbuf);
615 if (!fastargs) {
616 goto exit;
617 }
618 raw = fastargs[0];
619 if (!noptargs) {
620 goto skip_optional_pos;
621 }
622 {
623 Py_ssize_t ival = -1;
624 PyObject *iobj = _PyNumber_Index(fastargs[1]);
625 if (iobj != NULL) {
626 ival = PyLong_AsSsize_t(iobj);
627 Py_DECREF(iobj);
628 }
629 if (ival == -1 && PyErr_Occurred()) {
630 goto exit;
631 }
632 buffer_size = ival;
633 }
634 skip_optional_pos:
635 return_value = _io_BufferedRandom___init___impl((buffered *)self, raw, buffer_size);
636
637 exit:
638 return return_value;
639 }
640 /*[clinic end generated code: output=98ccf7610c0e82ba input=a9049054013a1b77]*/
641