@@ -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
360348this 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.
362350Usually 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