Skip to content

Commit 2c921c6

Browse files
[3.8] bpo-38600: NULL -> NULL. (GH-17001) (GH-17003)
Also fix some other formatting. (cherry picked from commit e835b31)
1 parent f2ba17b commit 2c921c6

27 files changed

+68
-68
lines changed

Doc/c-api/arg.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ Other objects
345345
If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a
346346
second time if the argument parsing eventually fails, giving the converter a
347347
chance to release any memory that it had already allocated. In this second
348-
call, the *object* parameter will be NULL; *address* will have the same value
348+
call, the *object* parameter will be ``NULL``; *address* will have the same value
349349
as in the original call.
350350

351351
.. versionchanged:: 3.1

Doc/c-api/buffer.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ a buffer, see :c:func:`PyObject_GetBuffer`.
130130
.. c:member:: Py_ssize_t itemsize
131131
132132
Item size in bytes of a single element. Same as the value of :func:`struct.calcsize`
133-
called on non-NULL :c:member:`~Py_buffer.format` values.
133+
called on non-``NULL`` :c:member:`~Py_buffer.format` values.
134134

135135
Important exception: If a consumer requests a buffer without the
136136
:c:macro:`PyBUF_FORMAT` flag, :c:member:`~Py_buffer.format` will
@@ -199,7 +199,7 @@ a buffer, see :c:func:`PyObject_GetBuffer`.
199199
memory block).
200200

201201
If all suboffsets are negative (i.e. no de-referencing is needed), then
202-
this field must be NULL (the default value).
202+
this field must be ``NULL`` (the default value).
203203

204204
This type of array representation is used by the Python Imaging Library
205205
(PIL). See `complex arrays`_ for further information how to access elements
@@ -407,7 +407,7 @@ to two ``char x[2][3]`` arrays that can be located anywhere in memory.
407407

408408

409409
Here is a function that returns a pointer to the element in an N-D array
410-
pointed to by an N-dimensional index when there are both non-NULL strides
410+
pointed to by an N-dimensional index when there are both non-``NULL`` strides
411411
and suboffsets::
412412

413413
void *get_item_pointer(int ndim, void *buf, Py_ssize_t *strides,
@@ -520,4 +520,4 @@ Buffer-related functions
520520
521521
If this function is used as part of a :ref:`getbufferproc <buffer-structs>`,
522522
*exporter* MUST be set to the exporting object and *flags* must be passed
523-
unmodified. Otherwise, *exporter* MUST be NULL.
523+
unmodified. Otherwise, *exporter* MUST be ``NULL``.

Doc/c-api/conversion.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ NULL``.
3232
3333
If the platform doesn't have :c:func:`vsnprintf` and the buffer size needed to
3434
avoid truncation exceeds *size* by more than 512 bytes, Python aborts with a
35-
*Py_FatalError*.
35+
:c:func:`Py_FatalError`.
3636
3737
The return value (*rv*) for these functions should be interpreted as follows:
3838
@@ -95,21 +95,21 @@ The following functions provide locale-independent string to number conversions.
9595
must be 0 and is ignored. The ``'r'`` format code specifies the
9696
standard :func:`repr` format.
9797
98-
*flags* can be zero or more of the values *Py_DTSF_SIGN*,
99-
*Py_DTSF_ADD_DOT_0*, or *Py_DTSF_ALT*, or-ed together:
98+
*flags* can be zero or more of the values ``Py_DTSF_SIGN``,
99+
``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:
100100
101-
* *Py_DTSF_SIGN* means to always precede the returned string with a sign
101+
* ``Py_DTSF_SIGN`` means to always precede the returned string with a sign
102102
character, even if *val* is non-negative.
103103
104-
* *Py_DTSF_ADD_DOT_0* means to ensure that the returned string will not look
104+
* ``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look
105105
like an integer.
106106
107-
* *Py_DTSF_ALT* means to apply "alternate" formatting rules. See the
107+
* ``Py_DTSF_ALT`` means to apply "alternate" formatting rules. See the
108108
documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for
109109
details.
110110
111-
If *ptype* is non-NULL, then the value it points to will be set to one of
112-
*Py_DTST_FINITE*, *Py_DTST_INFINITE*, or *Py_DTST_NAN*, signifying that
111+
If *ptype* is non-``NULL``, then the value it points to will be set to one of
112+
``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying that
113113
*val* is a finite number, an infinite number, or not a number, respectively.
114114
115115
The return value is a pointer to *buffer* with the converted string or

Doc/c-api/coro.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ return.
2323

2424
.. c:function:: int PyCoro_CheckExact(PyObject *ob)
2525
26-
Return true if *ob*'s type is *PyCoro_Type*; *ob* must not be ``NULL``.
26+
Return true if *ob*'s type is :c:type:`PyCoro_Type`; *ob* must not be ``NULL``.
2727
2828
2929
.. c:function:: PyObject* PyCoro_New(PyFrameObject *frame, PyObject *name, PyObject *qualname)

Doc/c-api/exceptions.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ return ``1`` for success and ``0`` for failure).
1919

2020
Concretely, the error indicator consists of three object pointers: the
2121
exception's type, the exception's value, and the traceback object. Any
22-
of those pointers can be NULL if non-set (although some combinations are
23-
forbidden, for example you can't have a non-NULL traceback if the exception
24-
type is NULL).
22+
of those pointers can be ``NULL`` if non-set (although some combinations are
23+
forbidden, for example you can't have a non-``NULL`` traceback if the exception
24+
type is ``NULL``).
2525

2626
When a function must fail because some function it called failed, it generally
2727
doesn't set the error indicator; the function it called already set it. It is
@@ -92,7 +92,7 @@ Raising exceptions
9292
9393
These functions help you set the current thread's error indicator.
9494
For convenience, some of these functions will always return a
95-
NULL pointer for use in a ``return`` statement.
95+
``NULL`` pointer for use in a ``return`` statement.
9696
9797
9898
.. c:function:: void PyErr_SetString(PyObject *type, const char *message)

Doc/c-api/function.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ There are a few functions specific to Python functions.
4242
.. c:function:: PyObject* PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)
4343
4444
As :c:func:`PyFunction_New`, but also allows setting the function object's
45-
``__qualname__`` attribute. *qualname* should be a unicode object or NULL;
46-
if NULL, the ``__qualname__`` attribute is set to the same value as its
45+
``__qualname__`` attribute. *qualname* should be a unicode object or ``NULL``;
46+
if ``NULL``, the ``__qualname__`` attribute is set to the same value as its
4747
``__name__`` attribute.
4848
4949
.. versionadded:: 3.3
@@ -75,7 +75,7 @@ There are a few functions specific to Python functions.
7575
.. c:function:: int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)
7676
7777
Set the argument default values for the function object *op*. *defaults* must be
78-
*Py_None* or a tuple.
78+
``Py_None`` or a tuple.
7979
8080
Raises :exc:`SystemError` and returns ``-1`` on failure.
8181
@@ -89,7 +89,7 @@ There are a few functions specific to Python functions.
8989
.. c:function:: int PyFunction_SetClosure(PyObject *op, PyObject *closure)
9090
9191
Set the closure associated with the function object *op*. *closure* must be
92-
*Py_None* or a tuple of cell objects.
92+
``Py_None`` or a tuple of cell objects.
9393
9494
Raises :exc:`SystemError` and returns ``-1`` on failure.
9595
@@ -103,6 +103,6 @@ There are a few functions specific to Python functions.
103103
.. c:function:: int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)
104104
105105
Set the annotations for the function object *op*. *annotations*
106-
must be a dictionary or *Py_None*.
106+
must be a dictionary or ``Py_None``.
107107
108108
Raises :exc:`SystemError` and returns ``-1`` on failure.

Doc/c-api/gen.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ than explicitly calling :c:func:`PyGen_New` or :c:func:`PyGen_NewWithQualName`.
2727
2828
.. c:function:: int PyGen_CheckExact(PyObject *ob)
2929
30-
Return true if *ob*'s type is *PyGen_Type*; *ob* must not be ``NULL``.
30+
Return true if *ob*'s type is :c:type:`PyGen_Type`; *ob* must not be ``NULL``.
3131
3232
3333
.. c:function:: PyObject* PyGen_New(PyFrameObject *frame)

Doc/c-api/import.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,8 @@ Importing Modules
207207
.. c:function:: PyObject* PyImport_GetModule(PyObject *name)
208208
209209
Return the already imported module with the given name. If the
210-
module has not been imported yet then returns NULL but does not set
211-
an error. Returns NULL and sets an error if the lookup failed.
210+
module has not been imported yet then returns ``NULL`` but does not set
211+
an error. Returns ``NULL`` and sets an error if the lookup failed.
212212
213213
.. versionadded:: 3.7
214214

Doc/c-api/init.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ Process-wide parameters
329329
It overrides :envvar:`PYTHONIOENCODING` values, and allows embedding code
330330
to control IO encoding when the environment variable does not work.
331331
332-
``encoding`` and/or ``errors`` may be NULL to use
332+
*encoding* and/or *errors* may be ``NULL`` to use
333333
:envvar:`PYTHONIOENCODING` and/or default values (depending on other
334334
settings).
335335

Doc/c-api/init_config.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ PyWideStringList
6161
6262
List of ``wchar_t*`` strings.
6363

64-
If *length* is non-zero, *items* must be non-NULL and all strings must be
65-
non-NULL.
64+
If *length* is non-zero, *items* must be non-``NULL`` and all strings must be
65+
non-``NULL``.
6666

6767
Methods:
6868

@@ -608,7 +608,7 @@ PyConfig
608608
609609
:data:`sys.pycache_prefix`: ``.pyc`` cache prefix.
610610
611-
If NULL, :data:`sys.pycache_prefix` is set to ``None``.
611+
If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``.
612612
613613
.. c:member:: int quiet
614614

Doc/c-api/marshal.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Numeric values are stored with the least significant byte first.
1616
The module supports two versions of the data format: version 0 is the
1717
historical version, version 1 shares interned strings in the file, and upon
1818
unmarshalling. Version 2 uses a binary format for floating point numbers.
19-
*Py_MARSHAL_VERSION* indicates the current file format (currently 2).
19+
``Py_MARSHAL_VERSION`` indicates the current file format (currently 2).
2020

2121

2222
.. c:function:: void PyMarshal_WriteLongToFile(long value, FILE *file, int version)

Doc/c-api/memory.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ Customize Memory Allocators
424424
425425
Set the memory block allocator of the specified domain.
426426
427-
The new allocator must return a distinct non-NULL pointer when requesting
427+
The new allocator must return a distinct non-``NULL`` pointer when requesting
428428
zero bytes.
429429
430430
For the :c:data:`PYMEM_DOMAIN_RAW` domain, the allocator must be

Doc/c-api/number.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,8 @@ Number Protocol
275275
convert to a Py_ssize_t value would raise an :exc:`OverflowError`, then the
276276
*exc* argument is the type of exception that will be raised (usually
277277
:exc:`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the
278-
exception is cleared and the value is clipped to *PY_SSIZE_T_MIN* for a negative
279-
integer or *PY_SSIZE_T_MAX* for a positive integer.
278+
exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a negative
279+
integer or ``PY_SSIZE_T_MAX`` for a positive integer.
280280
281281
282282
.. c:function:: int PyIndex_Check(PyObject *o)

Doc/c-api/object.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ Object Protocol
354354
To get actual number of arguments, use
355355
:c:func:`PyVectorcall_NARGS(nargsf) <PyVectorcall_NARGS>`.
356356
357-
*kwnames* can be either NULL (no keyword arguments) or a tuple of keyword
357+
*kwnames* can be either ``NULL`` (no keyword arguments) or a tuple of keyword
358358
names. In the latter case, the values of the keyword arguments are stored
359359
in *args* after the positional arguments.
360360
The number of keyword arguments does not influence *nargsf*.

Doc/c-api/tuple.rst

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ type.
153153
| ``name`` | ``const char *`` | name of the struct sequence type |
154154
+-------------------+------------------------------+--------------------------------------+
155155
| ``doc`` | ``const char *`` | pointer to docstring for the type |
156-
| | | or NULL to omit |
156+
| | | or ``NULL`` to omit |
157157
+-------------------+------------------------------+--------------------------------------+
158158
| ``fields`` | ``PyStructSequence_Field *`` | pointer to ``NULL``-terminated array |
159159
| | | with field names of the new type |
@@ -170,16 +170,16 @@ type.
170170
:attr:`fields` array of the :c:type:`PyStructSequence_Desc` determines which
171171
field of the struct sequence is described.
172172
173-
+-----------+------------------+----------------------------------------+
174-
| Field | C Type | Meaning |
175-
+===========+==================+========================================+
176-
| ``name`` | ``const char *`` | name for the field or ``NULL`` to end |
177-
| | | the list of named fields, set to |
178-
| | | PyStructSequence_UnnamedField to |
179-
| | | leave unnamed |
180-
+-----------+------------------+----------------------------------------+
181-
| ``doc`` | ``const char *`` | field docstring or ``NULL`` to omit |
182-
+-----------+------------------+----------------------------------------+
173+
+-----------+------------------+-----------------------------------------+
174+
| Field | C Type | Meaning |
175+
+===========+==================+=========================================+
176+
| ``name`` | ``const char *`` | name for the field or ``NULL`` to end |
177+
| | | the list of named fields, set to |
178+
| | | :c:data:`PyStructSequence_UnnamedField` |
179+
| | | to leave unnamed |
180+
+-----------+------------------+-----------------------------------------+
181+
| ``doc`` | ``const char *`` | field docstring or ``NULL`` to omit |
182+
+-----------+------------------+-----------------------------------------+
183183
184184
185185
.. c:var:: char* PyStructSequence_UnnamedField

Doc/c-api/type.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ The following functions and structs are used to create
181181
* ``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`
182182
* ``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`
183183
184-
The following fields cannot be set using *PyType_Spec* and *PyType_Slot*:
184+
The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:`PyType_Slot`:
185185
186186
* :c:member:`~PyTypeObject.tp_dict`
187187
* :c:member:`~PyTypeObject.tp_mro`

Doc/c-api/typeobj.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)
740740
This field is inherited by subtypes together with
741741
:c:member:`~PyTypeObject.tp_call`: a subtype inherits
742742
:c:member:`~PyTypeObject.tp_vectorcall_offset` from its base type when
743-
the subtype’s :c:member:`~PyTypeObject.tp_call` is NULL.
743+
the subtype’s :c:member:`~PyTypeObject.tp_call` is ``NULL``.
744744
745745
Note that `heap types`_ (including subclasses defined in Python) do not
746746
inherit the :const:`_Py_TPFLAGS_HAVE_VECTORCALL` flag.
@@ -1180,7 +1180,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)
11801180

11811181
This bit is set on *static* subtypes if ``tp_flags`` is not overridden:
11821182
a subtype inherits ``_Py_TPFLAGS_HAVE_VECTORCALL`` from its base type
1183-
when the subtype’s :c:member:`~PyTypeObject.tp_call` is NULL
1183+
when the subtype’s :c:member:`~PyTypeObject.tp_call` is ``NULL``
11841184
and the subtype's ``Py_TPFLAGS_HEAPTYPE`` is not set.
11851185

11861186
`Heap types`_ do not inherit ``_Py_TPFLAGS_HAVE_VECTORCALL``.
@@ -1955,7 +1955,7 @@ This results in types that are limited relative to types defined in Python:
19551955
:ref:`sub-interpreters <sub-interpreter-support>`, so they should not
19561956
include any subinterpreter-specific state.
19571957

1958-
Also, since *PyTypeObject* is not part of the :ref:`stable ABI <stable>`,
1958+
Also, since :c:type:`PyTypeObject` is not part of the :ref:`stable ABI <stable>`,
19591959
any extension modules using static types must be compiled for a specific
19601960
Python minor version.
19611961

Doc/c-api/unicode.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -526,9 +526,9 @@ APIs:
526526
.. note::
527527
The width formatter unit is number of characters rather than bytes.
528528
The precision formatter unit is number of bytes for ``"%s"`` and
529-
``"%V"`` (if the ``PyObject*`` argument is NULL), and a number of
529+
``"%V"`` (if the ``PyObject*`` argument is ``NULL``), and a number of
530530
characters for ``"%A"``, ``"%U"``, ``"%S"``, ``"%R"`` and ``"%V"``
531-
(if the ``PyObject*`` argument is not NULL).
531+
(if the ``PyObject*`` argument is not ``NULL``).
532532
533533
.. [1] For integer specifiers (d, u, ld, li, lu, lld, lli, llu, zd, zi,
534534
zu, i, x): the 0-conversion flag has effect even when a precision is given.
@@ -1172,7 +1172,7 @@ These are the UTF-32 codec APIs:
11721172
If byteorder is ``0``, the output string will always start with the Unicode BOM
11731173
mark (U+FEFF). In the other two modes, no BOM mark is prepended.
11741174
1175-
If *Py_UNICODE_WIDE* is not defined, surrogate pairs will be output
1175+
If ``Py_UNICODE_WIDE`` is not defined, surrogate pairs will be output
11761176
as a single code point.
11771177
11781178
Return ``NULL`` if an exception was raised by the codec.
@@ -1246,7 +1246,7 @@ These are the UTF-16 codec APIs:
12461246
If byteorder is ``0``, the output string will always start with the Unicode BOM
12471247
mark (U+FEFF). In the other two modes, no BOM mark is prepended.
12481248
1249-
If *Py_UNICODE_WIDE* is defined, a single :c:type:`Py_UNICODE` value may get
1249+
If ``Py_UNICODE_WIDE`` is defined, a single :c:type:`Py_UNICODE` value may get
12501250
represented as a surrogate pair. If it is not defined, each :c:type:`Py_UNICODE`
12511251
values is interpreted as a UCS-2 character.
12521252

Doc/c-api/veryhigh.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ the same library that the Python runtime is using.
8080
.. c:function:: int PyRun_SimpleString(const char *command)
8181
8282
This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below,
83-
leaving the *PyCompilerFlags\** argument set to NULL.
83+
leaving the :c:type:`PyCompilerFlags`\* argument set to ``NULL``.
8484
8585
8686
.. c:function:: int PyRun_SimpleStringFlags(const char *command, PyCompilerFlags *flags)

Doc/extending/extending.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ Later, when it is time to call the function, you call the C function
536536
:c:func:`PyObject_CallObject`. This function has two arguments, both pointers to
537537
arbitrary Python objects: the Python function, and the argument list. The
538538
argument list must always be a tuple object, whose length is the number of
539-
arguments. To call the Python function with no arguments, pass in NULL, or
539+
arguments. To call the Python function with no arguments, pass in ``NULL``, or
540540
an empty tuple; to call it with one argument, pass a singleton tuple.
541541
:c:func:`Py_BuildValue` returns a tuple when its format string consists of zero
542542
or more format codes between parentheses. For example::

Doc/howto/clinic.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ Currently Argument Clinic supports only a few return converters:
10701070
DecodeFSDefault
10711071
10721072
None of these take parameters. For the first three, return -1 to indicate
1073-
error. For ``DecodeFSDefault``, the return type is ``const char *``; return a NULL
1073+
error. For ``DecodeFSDefault``, the return type is ``const char *``; return a ``NULL``
10741074
pointer to indicate an error.
10751075

10761076
(There's also an experimental ``NoneType`` converter, which lets you

Doc/library/ctypes.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ the ``time()`` function, which returns system time in seconds since the Unix
152152
epoch, and the ``GetModuleHandleA()`` function, which returns a win32 module
153153
handle.
154154

155-
This example calls both functions with a NULL pointer (``None`` should be used
156-
as the NULL pointer)::
155+
This example calls both functions with a ``NULL`` pointer (``None`` should be used
156+
as the ``NULL`` pointer)::
157157

158158
>>> print(libc.time(None)) # doctest: +SKIP
159159
1150640792
@@ -1110,7 +1110,7 @@ Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, we
11101110
can iterate over it, but we just have to make sure that our loop terminates,
11111111
because pointers have no size. Sooner or later it would probably crash with an
11121112
access violation or whatever, so it's better to break out of the loop when we
1113-
hit the NULL entry::
1113+
hit the ``NULL`` entry::
11141114

11151115
>>> for item in table:
11161116
... if item.name is None:

Doc/library/gc.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ values but should not rebind them):
212212
A list of objects which the collector found to be unreachable but could
213213
not be freed (uncollectable objects). Starting with Python 3.4, this
214214
list should be empty most of the time, except when using instances of
215-
C extension types with a non-NULL ``tp_del`` slot.
215+
C extension types with a non-``NULL`` ``tp_del`` slot.
216216

217217
If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be
218218
added to this list rather than freed.

0 commit comments

Comments
 (0)