@@ -367,6 +367,40 @@ binascii_b2a_hex(PyModuleDef *module, PyObject *args)
367367 return return_value ;
368368}
369369
370+ PyDoc_STRVAR (binascii_hexlify__doc__ ,
371+ "hexlify($module, data, /)\n"
372+ "--\n"
373+ "\n"
374+ "Hexadecimal representation of binary data.\n"
375+ "\n"
376+ "The return value is a bytes object." );
377+
378+ #define BINASCII_HEXLIFY_METHODDEF \
379+ {"hexlify", (PyCFunction)binascii_hexlify, METH_VARARGS, binascii_hexlify__doc__},
380+
381+ static PyObject *
382+ binascii_hexlify_impl (PyModuleDef * module , Py_buffer * data );
383+
384+ static PyObject *
385+ binascii_hexlify (PyModuleDef * module , PyObject * args )
386+ {
387+ PyObject * return_value = NULL ;
388+ Py_buffer data = {NULL , NULL };
389+
390+ if (!PyArg_ParseTuple (args ,
391+ "y*:hexlify" ,
392+ & data ))
393+ goto exit ;
394+ return_value = binascii_hexlify_impl (module , & data );
395+
396+ exit :
397+ /* Cleanup for data */
398+ if (data .obj )
399+ PyBuffer_Release (& data );
400+
401+ return return_value ;
402+ }
403+
370404PyDoc_STRVAR (binascii_a2b_hex__doc__ ,
371405"a2b_hex($module, hexstr, /)\n"
372406"--\n"
@@ -402,6 +436,40 @@ binascii_a2b_hex(PyModuleDef *module, PyObject *args)
402436 return return_value ;
403437}
404438
439+ PyDoc_STRVAR (binascii_unhexlify__doc__ ,
440+ "unhexlify($module, hexstr, /)\n"
441+ "--\n"
442+ "\n"
443+ "Binary data of hexadecimal representation.\n"
444+ "\n"
445+ "hexstr must contain an even number of hex digits (upper or lower case)." );
446+
447+ #define BINASCII_UNHEXLIFY_METHODDEF \
448+ {"unhexlify", (PyCFunction)binascii_unhexlify, METH_VARARGS, binascii_unhexlify__doc__},
449+
450+ static PyObject *
451+ binascii_unhexlify_impl (PyModuleDef * module , Py_buffer * hexstr );
452+
453+ static PyObject *
454+ binascii_unhexlify (PyModuleDef * module , PyObject * args )
455+ {
456+ PyObject * return_value = NULL ;
457+ Py_buffer hexstr = {NULL , NULL };
458+
459+ if (!PyArg_ParseTuple (args ,
460+ "O&:unhexlify" ,
461+ ascii_buffer_converter , & hexstr ))
462+ goto exit ;
463+ return_value = binascii_unhexlify_impl (module , & hexstr );
464+
465+ exit :
466+ /* Cleanup for hexstr */
467+ if (hexstr .obj )
468+ PyBuffer_Release (& hexstr );
469+
470+ return return_value ;
471+ }
472+
405473PyDoc_STRVAR (binascii_a2b_qp__doc__ ,
406474"a2b_qp($module, /, data, header=False)\n"
407475"--\n"
@@ -475,4 +543,4 @@ binascii_b2a_qp(PyModuleDef *module, PyObject *args, PyObject *kwargs)
475543
476544 return return_value ;
477545}
478- /*[clinic end generated code: output=68e2bcc6956b6213 input=a9049054013a1b77]*/
546+ /*[clinic end generated code: output=e46d29f8c9adae7e input=a9049054013a1b77]*/
0 commit comments