Skip to content

Commit a576f8d

Browse files
authored
Update zend_string.rst
1 parent 629ec16 commit a576f8d

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

docs/source/core/data-structures/zend_string.rst

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -314,18 +314,6 @@ There are various functions to compare strings.
314314
- - ``zend_interned_strings_switch_storage(request)``
315315
- Switches between request and persistent interned string storage backends.
316316

317-
.. list-table:: Stack allocation helper macros
318-
:header-rows: 1
319-
320-
- - Macro
321-
- Description
322-
- - ``ZSTR_ALLOCA_ALLOC(str, l, use_heap)``
323-
- Allocates a temporary string buffer using ``do_alloca``.
324-
- - ``ZSTR_ALLOCA_INIT(str, s, l, use_heap)``
325-
- Same as ``ZSTR_ALLOCA_ALLOC``, then copies data from ``s`` and appends ``'\0'``.
326-
- - ``ZSTR_ALLOCA_FREE(str, use_heap)``
327-
- Frees memory previously allocated with ``ZSTR_ALLOCA_ALLOC`` / ``ZSTR_ALLOCA_INIT``.
328-
329317
******************
330318
Interned strings
331319
******************
@@ -360,3 +348,17 @@ gets a bit more complicated. During requests, no interned strings are actually c
360348
this is delayed until the script is persisted to shared memory. This means that
361349
``zend_new_interned_string`` may not actually return an interned string if opcache is enabled.
362350
Usually you don't have to worry about this.
351+
352+
Also, here are some API helpers that might be useful in stack allocation.
353+
354+
.. list-table:: Stack allocation helper macros
355+
:header-rows: 1
356+
357+
- - Macro
358+
- Description
359+
- - ``ZSTR_ALLOCA_ALLOC(str, l, use_heap)``
360+
- Allocates a temporary string buffer using ``do_alloca``.
361+
- - ``ZSTR_ALLOCA_INIT(str, s, l, use_heap)``
362+
- Same as ``ZSTR_ALLOCA_ALLOC``, then copies data from ``s`` and appends ``'\0'``.
363+
- - ``ZSTR_ALLOCA_FREE(str, use_heap)``
364+
- Frees memory previously allocated with ``ZSTR_ALLOCA_ALLOC`` / ``ZSTR_ALLOCA_INIT``.

0 commit comments

Comments
 (0)