/* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | https://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Max Kellermann <max.kellermann@ionos.com> | +----------------------------------------------------------------------+ */ #ifndef PHP_INI_BUILDER_H #define PHP_INI_BUILDER_H #include "php.h" /** * A class which helps with constructing INI entries from the command * line. */ struct php_ini_builder { char *value; size_t length; }; BEGIN_EXTERN_C() static inline void php_ini_builder_init(struct php_ini_builder *b) { b->value = NULL; b->length = 0; } static inline void php_ini_builder_deinit(struct php_ini_builder *b) { free(b->value); } /** * Null-terminate the buffer and return it. */ static inline char *php_ini_builder_finish(struct php_ini_builder *b) { if (b->value != NULL) { /* null-terminate the string */ b->value[b->length] = '\0'; } return b->value; } /** * Make room for more data. * * @param delta the number of bytes to be appended */ static inline void php_ini_builder_realloc(struct php_ini_builder *b, size_t delta) { /* reserve enough space for the null terminator */ b->value = realloc(b->value, b->length + delta + 1); } /** * Prepend a string. * * @param src the source string * @param length the size of the source string */ PHPAPI void php_ini_builder_prepend(struct php_ini_builder *b, const char *src, size_t length); #define php_ini_builder_prepend_literal(b, l) php_ini_builder_prepend(b, l, strlen(l)) /** * Append an unquoted name/value pair. */ PHPAPI void php_ini_builder_unquoted(struct php_ini_builder *b, const char *name, size_t name_length, const char *value, size_t value_length); /** * Append a quoted name/value pair. */ PHPAPI void php_ini_builder_quoted(struct php_ini_builder *b, const char *name, size_t name_length, const char *value, size_t value_length); /** * Parse an INI entry from the command-line option "--define". */ PHPAPI void php_ini_builder_define(struct php_ini_builder *b, const char *arg); END_EXTERN_C() #endif
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
streams | Folder | 0755 |
|
|
SAPI.h | File | 10.02 KB | 0644 |
|
build-defs.h | File | 5.81 KB | 0644 |
|
fastcgi.h | File | 4.78 KB | 0644 |
|
fopen_wrappers.h | File | 2.2 KB | 0644 |
|
http_status_codes.h | File | 2.83 KB | 0644 |
|
main_arginfo.h | File | 6.2 KB | 0644 |
|
php.h | File | 11.71 KB | 0644 |
|
php_compat.h | File | 19.66 KB | 0644 |
|
php_config.h | File | 50.04 KB | 0644 |
|
php_content_types.h | File | 1.31 KB | 0644 |
|
php_getopt.h | File | 1.63 KB | 0644 |
|
php_globals.h | File | 3.89 KB | 0644 |
|
php_ini.h | File | 3.53 KB | 0644 |
|
php_ini_builder.h | File | 2.73 KB | 0644 |
|
php_main.h | File | 2.88 KB | 0644 |
|
php_memory_streams.h | File | 3.23 KB | 0644 |
|
php_network.h | File | 10.46 KB | 0644 |
|
php_odbc_utils.h | File | 1.27 KB | 0644 |
|
php_open_temporary_file.h | File | 1.91 KB | 0644 |
|
php_output.h | File | 8.78 KB | 0644 |
|
php_reentrancy.h | File | 3.16 KB | 0644 |
|
php_scandir.h | File | 1.67 KB | 0644 |
|
php_streams.h | File | 29.99 KB | 0644 |
|
php_syslog.h | File | 1.54 KB | 0644 |
|
php_ticks.h | File | 1.34 KB | 0644 |
|
php_variables.h | File | 2.07 KB | 0644 |
|
php_version.h | File | 266 B | 0644 |
|
rfc1867.h | File | 3.65 KB | 0644 |
|
snprintf.h | File | 5.6 KB | 0644 |
|
spprintf.h | File | 1.47 KB | 0644 |
|