Changeset 391 for python/trunk/Doc/c-api/arg.rst
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Doc/c-api/arg.rst
r2 r391 10 10 :ref:`extending-index`. 11 11 12 The first three of these functions described, :c func:`PyArg_ParseTuple`,13 :c func:`PyArg_ParseTupleAndKeywords`, and :cfunc:`PyArg_Parse`, all use12 The first three of these functions described, :c:func:`PyArg_ParseTuple`, 13 :c:func:`PyArg_ParseTupleAndKeywords`, and :c:func:`PyArg_Parse`, all use 14 14 *format strings* which are used to tell the function about the expected 15 15 arguments. The format strings use the same syntax for each of these … … 25 25 of the C variable(s) whose address should be passed. 26 26 27 ``s`` (string or Unicode object) [const char \*] 27 These formats allow to access an object as a contiguous chunk of memory. 28 You don't have to provide raw storage for the returned unicode or bytes 29 area. Also, you won't have to release any memory yourself, except with the 30 ``es``, ``es#``, ``et`` and ``et#`` formats. 31 32 ``s`` (string or Unicode) [const char \*] 28 33 Convert a Python string or Unicode object to a C pointer to a character 29 34 string. You must not provide storage for the string itself; a pointer to … … 34 39 encoding. If this conversion fails, a :exc:`UnicodeError` is raised. 35 40 36 ``s#`` (string, Unicode or any read buffer compatible object) [const char \*, int (or :c type:`Py_ssize_t`, see below)]41 ``s#`` (string, Unicode or any read buffer compatible object) [const char \*, int (or :c:type:`Py_ssize_t`, see below)] 37 42 This variant on ``s`` stores into two C variables, the first one a pointer 38 43 to a character string, the second one its length. In this case the Python … … 43 48 44 49 Starting with Python 2.5 the type of the length argument can be controlled 45 by defining the macro :c macro:`PY_SSIZE_T_CLEAN` before including46 :file:`Python.h`. If the macro is defined, length is a :c type:`Py_ssize_t`50 by defining the macro :c:macro:`PY_SSIZE_T_CLEAN` before including 51 :file:`Python.h`. If the macro is defined, length is a :c:type:`Py_ssize_t` 47 52 rather than an int. 48 53 … … 56 61 .. versionadded:: 2.6 57 62 58 ``z`` (string or ``None``) [const char \*]63 ``z`` (string, Unicode or ``None``) [const char \*] 59 64 Like ``s``, but the Python object may also be ``None``, in which case the C 60 65 pointer is set to *NULL*. 61 66 62 ``z#`` (string or``None`` or any read buffer compatible object) [const char \*, int]67 ``z#`` (string, Unicode, ``None`` or any read buffer compatible object) [const char \*, int] 63 68 This is to ``s#`` as ``z`` is to ``s``. 64 69 65 ``z*`` (string or``None`` or any buffer compatible object) [Py_buffer]70 ``z*`` (string, Unicode, ``None`` or any buffer compatible object) [Py_buffer] 66 71 This is to ``s*`` as ``z`` is to ``s``. 67 72 68 73 .. versionadded:: 2.6 69 74 70 ``u`` (Unicode object) [Py_UNICODE \*]75 ``u`` (Unicode) [Py_UNICODE \*] 71 76 Convert a Python Unicode object to a C pointer to a NUL-terminated buffer 72 77 of 16-bit Unicode (UTF-16) data. As with ``s``, there is no need to 73 78 provide storage for the Unicode data buffer; a pointer to the existing 74 Unicode data is stored into the :c type:`Py_UNICODE` pointer variable whose79 Unicode data is stored into the :c:type:`Py_UNICODE` pointer variable whose 75 80 address you pass. 76 81 77 ``u#`` (Unicode object) [Py_UNICODE \*, int]82 ``u#`` (Unicode) [Py_UNICODE \*, int] 78 83 This variant on ``u`` stores into two C variables, the first one a pointer 79 84 to a Unicode data buffer, the second one its length. Non-Unicode objects 80 85 are handled by interpreting their read-buffer pointer as pointer to a 81 :c type:`Py_UNICODE` array.82 83 ``es`` (string, Unicode o bject or character buffer compatible object) [const char \*encoding, char \*\*buffer]86 :c:type:`Py_UNICODE` array. 87 88 ``es`` (string, Unicode or character buffer compatible object) [const char \*encoding, char \*\*buffer] 84 89 This variant on ``s`` is used for encoding Unicode and objects convertible 85 90 to Unicode into a character buffer. It only works for encoded data without … … 87 92 88 93 This format requires two arguments. The first is only used as input, and 89 must be a :c type:`const char\*` which points to the name of an encoding as94 must be a :c:type:`const char\*` which points to the name of an encoding as 90 95 a NUL-terminated string, or *NULL*, in which case the default encoding is 91 96 used. An exception is raised if the named encoding is not known to Python. 92 The second argument must be a :c type:`char\*\*`; the value of the pointer97 The second argument must be a :c:type:`char\*\*`; the value of the pointer 93 98 it references will be set to a buffer with the contents of the argument 94 99 text. The text will be encoded in the encoding specified by the first 95 100 argument. 96 101 97 :c func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy102 :c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy 98 103 the encoded data into this buffer and adjust *\*buffer* to reference the 99 104 newly allocated storage. The caller is responsible for calling 100 :c func:`PyMem_Free` to free the allocated buffer after use.101 102 ``et`` (string, Unicode o bject or character buffer compatible object) [const char \*encoding, char \*\*buffer]105 :c:func:`PyMem_Free` to free the allocated buffer after use. 106 107 ``et`` (string, Unicode or character buffer compatible object) [const char \*encoding, char \*\*buffer] 103 108 Same as ``es`` except that 8-bit string objects are passed through without 104 109 recoding them. Instead, the implementation assumes that the string object 105 110 uses the encoding passed in as parameter. 106 111 107 ``es#`` (string, Unicode o bject or character buffer compatible object) [const char \*encoding, char \*\*buffer, int \*buffer_length]112 ``es#`` (string, Unicode or character buffer compatible object) [const char \*encoding, char \*\*buffer, int \*buffer_length] 108 113 This variant on ``s#`` is used for encoding Unicode and objects convertible 109 114 to Unicode into a character buffer. Unlike the ``es`` format, this variant … … 111 116 112 117 It requires three arguments. The first is only used as input, and must be 113 a :c type:`const char\*` which points to the name of an encoding as a118 a :c:type:`const char\*` which points to the name of an encoding as a 114 119 NUL-terminated string, or *NULL*, in which case the default encoding is 115 120 used. An exception is raised if the named encoding is not known to Python. 116 The second argument must be a :c type:`char\*\*`; the value of the pointer121 The second argument must be a :c:type:`char\*\*`; the value of the pointer 117 122 it references will be set to a buffer with the contents of the argument 118 123 text. The text will be encoded in the encoding specified by the first … … 125 130 of the needed size, copy the encoded data into this buffer and set 126 131 *\*buffer* to reference the newly allocated storage. The caller is 127 responsible for calling :c func:`PyMem_Free` to free the allocated buffer132 responsible for calling :c:func:`PyMem_Free` to free the allocated buffer 128 133 after usage. 129 134 130 135 If *\*buffer* points to a non-*NULL* pointer (an already allocated buffer), 131 :c func:`PyArg_ParseTuple` will use this location as the buffer and136 :c:func:`PyArg_ParseTuple` will use this location as the buffer and 132 137 interpret the initial value of *\*buffer_length* as the buffer size. It 133 138 will then copy the encoded data into the buffer and NUL-terminate it. If … … 137 142 without the trailing NUL byte. 138 143 139 ``et#`` (string, Unicode o bject or character buffer compatible object) [const char \*encoding, char \*\*buffer, int \*buffer_length]144 ``et#`` (string, Unicode or character buffer compatible object) [const char \*encoding, char \*\*buffer, int \*buffer_length] 140 145 Same as ``es#`` except that string objects are passed through without 141 146 recoding them. Instead, the implementation assumes that the string object … … 144 149 ``b`` (integer) [unsigned char] 145 150 Convert a nonnegative Python integer to an unsigned tiny int, stored in a C 146 :c type:`unsigned char`.151 :c:type:`unsigned char`. 147 152 148 153 ``B`` (integer) [unsigned char] 149 154 Convert a Python integer to a tiny int without overflow checking, stored in 150 a C :c type:`unsigned char`.155 a C :c:type:`unsigned char`. 151 156 152 157 .. versionadded:: 2.3 153 158 154 159 ``h`` (integer) [short int] 155 Convert a Python integer to a C :c type:`short int`.160 Convert a Python integer to a C :c:type:`short int`. 156 161 157 162 ``H`` (integer) [unsigned short int] 158 Convert a Python integer to a C :c type:`unsigned short int`, without163 Convert a Python integer to a C :c:type:`unsigned short int`, without 159 164 overflow checking. 160 165 … … 162 167 163 168 ``i`` (integer) [int] 164 Convert a Python integer to a plain C :c type:`int`.169 Convert a Python integer to a plain C :c:type:`int`. 165 170 166 171 ``I`` (integer) [unsigned int] 167 Convert a Python integer to a C :c type:`unsigned int`, without overflow172 Convert a Python integer to a C :c:type:`unsigned int`, without overflow 168 173 checking. 169 174 … … 171 176 172 177 ``l`` (integer) [long int] 173 Convert a Python integer to a C :c type:`long int`.178 Convert a Python integer to a C :c:type:`long int`. 174 179 175 180 ``k`` (integer) [unsigned long] 176 Convert a Python integer or long integer to a C :c type:`unsigned long`181 Convert a Python integer or long integer to a C :c:type:`unsigned long` 177 182 without overflow checking. 178 183 … … 180 185 181 186 ``L`` (integer) [PY_LONG_LONG] 182 Convert a Python integer to a C :c type:`long long`. This format is only183 available on platforms that support :c type:`long long` (or :ctype:`_int64`187 Convert a Python integer to a C :c:type:`long long`. This format is only 188 available on platforms that support :c:type:`long long` (or :c:type:`_int64` 184 189 on Windows). 185 190 186 191 ``K`` (integer) [unsigned PY_LONG_LONG] 187 Convert a Python integer or long integer to a C :c type:`unsigned long long`192 Convert a Python integer or long integer to a C :c:type:`unsigned long long` 188 193 without overflow checking. This format is only available on platforms that 189 support :c type:`unsigned long long` (or :ctype:`unsigned _int64` on194 support :c:type:`unsigned long long` (or :c:type:`unsigned _int64` on 190 195 Windows). 191 196 … … 193 198 194 199 ``n`` (integer) [Py_ssize_t] 195 Convert a Python integer or long integer to a C :c type:`Py_ssize_t`.200 Convert a Python integer or long integer to a C :c:type:`Py_ssize_t`. 196 201 197 202 .. versionadded:: 2.5 … … 199 204 ``c`` (string of length 1) [char] 200 205 Convert a Python character, represented as a string of length 1, to a C 201 :c type:`char`.206 :c:type:`char`. 202 207 203 208 ``f`` (float) [float] 204 Convert a Python floating point number to a C :c type:`float`.209 Convert a Python floating point number to a C :c:type:`float`. 205 210 206 211 ``d`` (float) [double] 207 Convert a Python floating point number to a C :c type:`double`.212 Convert a Python floating point number to a C :c:type:`double`. 208 213 209 214 ``D`` (complex) [Py_complex] 210 Convert a Python complex number to a C :c type:`Py_complex` structure.215 Convert a Python complex number to a C :c:type:`Py_complex` structure. 211 216 212 217 ``O`` (object) [PyObject \*] … … 218 223 Store a Python object in a C object pointer. This is similar to ``O``, but 219 224 takes two C arguments: the first is the address of a Python type object, 220 the second is the address of the C variable (of type :c type:`PyObject\*`)225 the second is the address of the C variable (of type :c:type:`PyObject\*`) 221 226 into which the object pointer is stored. If the Python object does not 222 227 have the required type, :exc:`TypeError` is raised. … … 225 230 Convert a Python object to a C variable through a *converter* function. 226 231 This takes two arguments: the first is a function, the second is the 227 address of a C variable (of arbitrary type), converted to :c type:`void \*`.232 address of a C variable (of arbitrary type), converted to :c:type:`void \*`. 228 233 The *converter* function in turn is called as follows:: 229 234 … … 231 236 232 237 where *object* is the Python object to be converted and *address* is the 233 :c type:`void\*` argument that was passed to the :cfunc:`PyArg_Parse\*`238 :c:type:`void\*` argument that was passed to the :c:func:`PyArg_Parse\*` 234 239 function. The returned *status* should be ``1`` for a successful 235 240 conversion and ``0`` if the conversion has failed. When the conversion … … 240 245 Like ``O`` but requires that the Python object is a string object. Raises 241 246 :exc:`TypeError` if the object is not a string object. The C variable may 242 also be declared as :c type:`PyObject\*`.247 also be declared as :c:type:`PyObject\*`. 243 248 244 249 ``U`` (Unicode string) [PyUnicodeObject \*] 245 250 Like ``O`` but requires that the Python object is a Unicode object. Raises 246 251 :exc:`TypeError` if the object is not a Unicode object. The C variable may 247 also be declared as :c type:`PyObject\*`.252 also be declared as :c:type:`PyObject\*`. 248 253 249 254 ``t#`` (read-only character buffer) [char \*, int] 250 255 Like ``s#``, but accepts any object which implements the read-only buffer 251 interface. The :c type:`char\*` variable is set to point to the first byte252 of the buffer, and the :c type:`int` is set to the length of the buffer.256 interface. The :c:type:`char\*` variable is set to point to the first byte 257 of the buffer, and the :c:type:`int` is set to the length of the buffer. 253 258 Only single-segment buffer objects are accepted; :exc:`TypeError` is raised 254 259 for all others. … … 262 267 ``w#`` (read-write character buffer) [char \*, Py_ssize_t] 263 268 Like ``s#``, but accepts any object which implements the read-write buffer 264 interface. The :c type:`char \*` variable is set to point to the first byte265 of the buffer, and the :c type:`Py_ssize_t` is set to the length of the269 interface. The :c:type:`char \*` variable is set to point to the first byte 270 of the buffer, and the :c:type:`Py_ssize_t` is set to the length of the 266 271 buffer. Only single-segment buffer objects are accepted; :exc:`TypeError` 267 272 is raised for all others. … … 298 303 optional. The C variables corresponding to optional arguments should be 299 304 initialized to their default value --- when an optional argument is not 300 specified, :c func:`PyArg_ParseTuple` does not touch the contents of the305 specified, :c:func:`PyArg_ParseTuple` does not touch the contents of the 301 306 corresponding C variable(s). 302 307 … … 304 309 The list of format units ends here; the string after the colon is used as 305 310 the function name in error messages (the "associated value" of the 306 exception that :c func:`PyArg_ParseTuple` raises).311 exception that :c:func:`PyArg_ParseTuple` raises). 307 312 308 313 ``;`` … … 321 326 322 327 For the conversion to succeed, the *arg* object must match the format and the 323 format must be exhausted. On success, the :c func:`PyArg_Parse\*` functions328 format must be exhausted. On success, the :c:func:`PyArg_Parse\*` functions 324 329 return true, otherwise they return false and raise an appropriate exception. 325 When the :c func:`PyArg_Parse\*` functions fail due to conversion failure in330 When the :c:func:`PyArg_Parse\*` functions fail due to conversion failure in 326 331 one of the format units, the variables at the addresses corresponding to that 327 332 and the following format units are left untouched. 328 333 329 334 330 .. c function:: int PyArg_ParseTuple(PyObject *args, const char *format, ...)335 .. c:function:: int PyArg_ParseTuple(PyObject *args, const char *format, ...) 331 336 332 337 Parse the parameters of a function that takes only positional parameters … … 335 340 336 341 337 .. c function:: int PyArg_VaParse(PyObject *args, const char *format, va_list vargs)338 339 Identical to :c func:`PyArg_ParseTuple`, except that it accepts a va_list342 .. c:function:: int PyArg_VaParse(PyObject *args, const char *format, va_list vargs) 343 344 Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list 340 345 rather than a variable number of arguments. 341 346 342 347 343 .. c function:: int PyArg_ParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, char *keywords[], ...)348 .. c:function:: int PyArg_ParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, char *keywords[], ...) 344 349 345 350 Parse the parameters of a function that takes both positional and keyword … … 348 353 349 354 350 .. c function:: int PyArg_VaParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, char *keywords[], va_list vargs)351 352 Identical to :c func:`PyArg_ParseTupleAndKeywords`, except that it accepts a355 .. c:function:: int PyArg_VaParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, char *keywords[], va_list vargs) 356 357 Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a 353 358 va_list rather than a variable number of arguments. 354 359 355 360 356 .. c function:: int PyArg_Parse(PyObject *args, const char *format, ...)361 .. c:function:: int PyArg_Parse(PyObject *args, const char *format, ...) 357 362 358 363 Function used to deconstruct the argument lists of "old-style" functions … … 365 370 366 371 367 .. c function:: int PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, ...)372 .. c:function:: int PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, ...) 368 373 369 374 A simpler form of parameter retrieval which does not use a format string to … … 374 379 tuple must be at least *min* and no more than *max*; *min* and *max* may be 375 380 equal. Additional arguments must be passed to the function, each of which 376 should be a pointer to a :c type:`PyObject\*` variable; these will be filled381 should be a pointer to a :c:type:`PyObject\*` variable; these will be filled 377 382 in with the values from *args*; they will contain borrowed references. The 378 383 variables which correspond to optional parameters not given by *args* will … … 397 402 } 398 403 399 The call to :c func:`PyArg_UnpackTuple` in this example is entirely400 equivalent to this call to :c func:`PyArg_ParseTuple`::404 The call to :c:func:`PyArg_UnpackTuple` in this example is entirely 405 equivalent to this call to :c:func:`PyArg_ParseTuple`:: 401 406 402 407 PyArg_ParseTuple(args, "O|O:ref", &object, &callback) … … 405 410 406 411 .. versionchanged:: 2.5 407 This function used an :c type:`int` type for *min* and *max*. This might412 This function used an :c:type:`int` type for *min* and *max*. This might 408 413 require changes in your code for properly supporting 64-bit systems. 409 414 410 415 411 .. c function:: PyObject* Py_BuildValue(const char *format, ...)416 .. c:function:: PyObject* Py_BuildValue(const char *format, ...) 412 417 413 418 Create a new value based on a format string similar to those accepted by 414 the :c func:`PyArg_Parse\*` family of functions and a sequence of values.419 the :c:func:`PyArg_Parse\*` family of functions and a sequence of values. 415 420 Returns the value or *NULL* in the case of an error; an exception will be 416 421 raised if *NULL* is returned. 417 422 418 :c func:`Py_BuildValue` does not always build a tuple. It builds a tuple423 :c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple 419 424 only if its format string contains two or more format units. If the format 420 425 string is empty, it returns ``None``; if it contains exactly one format … … 426 431 objects, as for the ``s`` and ``s#`` formats, the required data is copied. 427 432 Buffers provided by the caller are never referenced by the objects created 428 by :c func:`Py_BuildValue`. In other words, if your code invokes429 :c func:`malloc` and passes the allocated memory to :cfunc:`Py_BuildValue`,430 your code is responsible for calling :c func:`free` for that memory once431 :c func:`Py_BuildValue` returns.433 by :c:func:`Py_BuildValue`. In other words, if your code invokes 434 :c:func:`malloc` and passes the allocated memory to :c:func:`Py_BuildValue`, 435 your code is responsible for calling :c:func:`free` for that memory once 436 :c:func:`Py_BuildValue` returns. 432 437 433 438 In the following description, the quoted form is the format unit; the entry … … 465 470 466 471 ``i`` (integer) [int] 467 Convert a plain C :c type:`int` to a Python integer object.472 Convert a plain C :c:type:`int` to a Python integer object. 468 473 469 474 ``b`` (integer) [char] 470 Convert a plain C :c type:`char` to a Python integer object.475 Convert a plain C :c:type:`char` to a Python integer object. 471 476 472 477 ``h`` (integer) [short int] 473 Convert a plain C :c type:`short int` to a Python integer object.478 Convert a plain C :c:type:`short int` to a Python integer object. 474 479 475 480 ``l`` (integer) [long int] 476 Convert a C :c type:`long int` to a Python integer object.481 Convert a C :c:type:`long int` to a Python integer object. 477 482 478 483 ``B`` (integer) [unsigned char] 479 Convert a C :c type:`unsigned char` to a Python integer object.484 Convert a C :c:type:`unsigned char` to a Python integer object. 480 485 481 486 ``H`` (integer) [unsigned short int] 482 Convert a C :c type:`unsigned short int` to a Python integer object.487 Convert a C :c:type:`unsigned short int` to a Python integer object. 483 488 484 489 ``I`` (integer/long) [unsigned int] 485 Convert a C :c type:`unsigned int` to a Python integer object or a Python490 Convert a C :c:type:`unsigned int` to a Python integer object or a Python 486 491 long integer object, if it is larger than ``sys.maxint``. 487 492 488 493 ``k`` (integer/long) [unsigned long] 489 Convert a C :c type:`unsigned long` to a Python integer object or a494 Convert a C :c:type:`unsigned long` to a Python integer object or a 490 495 Python long integer object, if it is larger than ``sys.maxint``. 491 496 492 497 ``L`` (long) [PY_LONG_LONG] 493 Convert a C :c type:`long long` to a Python long integer object. Only494 available on platforms that support :c type:`long long`.498 Convert a C :c:type:`long long` to a Python long integer object. Only 499 available on platforms that support :c:type:`long long`. 495 500 496 501 ``K`` (long) [unsigned PY_LONG_LONG] 497 Convert a C :c type:`unsigned long long` to a Python long integer object.498 Only available on platforms that support :c type:`unsigned long long`.502 Convert a C :c:type:`unsigned long long` to a Python long integer object. 503 Only available on platforms that support :c:type:`unsigned long long`. 499 504 500 505 ``n`` (int) [Py_ssize_t] 501 Convert a C :c type:`Py_ssize_t` to a Python integer or long integer.506 Convert a C :c:type:`Py_ssize_t` to a Python integer or long integer. 502 507 503 508 .. versionadded:: 2.5 504 509 505 510 ``c`` (string of length 1) [char] 506 Convert a C :c type:`int` representing a character to a Python string of511 Convert a C :c:type:`int` representing a character to a Python string of 507 512 length 1. 508 513 509 514 ``d`` (float) [double] 510 Convert a C :c type:`double` to a Python floating point number.515 Convert a C :c:type:`double` to a Python floating point number. 511 516 512 517 ``f`` (float) [float] … … 514 519 515 520 ``D`` (complex) [Py_complex \*] 516 Convert a C :c type:`Py_complex` structure to a Python complex number.521 Convert a C :c:type:`Py_complex` structure to a Python complex number. 517 522 518 523 ``O`` (object) [PyObject \*] … … 520 525 incremented by one). If the object passed in is a *NULL* pointer, it is 521 526 assumed that this was caused because the call producing the argument 522 found an error and set an exception. Therefore, :c func:`Py_BuildValue`527 found an error and set an exception. Therefore, :c:func:`Py_BuildValue` 523 528 will return *NULL* but won't raise an exception. If no exception has 524 529 been raised yet, :exc:`SystemError` is set. … … 535 540 Convert *anything* to a Python object through a *converter* function. 536 541 The function is called with *anything* (which should be compatible with 537 :c type:`void \*`) as its argument and should return a "new" Python542 :c:type:`void \*`) as its argument and should return a "new" Python 538 543 object, or *NULL* if an error occurred. 539 544 … … 554 559 is set and *NULL* returned. 555 560 556 .. c function:: PyObject* Py_VaBuildValue(const char *format, va_list vargs)557 558 Identical to :c func:`Py_BuildValue`, except that it accepts a va_list561 .. c:function:: PyObject* Py_VaBuildValue(const char *format, va_list vargs) 562 563 Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list 559 564 rather than a variable number of arguments.
Note:
See TracChangeset
for help on using the changeset viewer.