#
2139:99d792169ffb |
| 16-Jun-2022 |
Andrew Clayton |
Constified numerous function parameters.
As was pointed out by the cppcheck[0] static code analysis utility we can mark numerous function parameters as 'const'. This acts as a hint to the compiler a
Constified numerous function parameters.
As was pointed out by the cppcheck[0] static code analysis utility we can mark numerous function parameters as 'const'. This acts as a hint to the compiler about our intentions and the compiler will tell us when we deviate from them.
[0]: https://cppcheck.sourceforge.io/
show more ...
|
Revision tags: 1.27.0-1, 1.27.0 |
|
#
2076:1be3131609fd |
| 18-Dec-2021 |
Alejandro Colomar |
Added new array APIs that also work with non-arrays.
Similar to how C pointers to variables can always be considered as pointers to the first element of an array of size 1 (see the following code fo
Added new array APIs that also work with non-arrays.
Similar to how C pointers to variables can always be considered as pointers to the first element of an array of size 1 (see the following code for an example of how they are equivalent), treating non-NXT_CONF_VALUE_ARRAY as if they were NXT_CONF_VALUE_ARRAYs of size 1 allows for simpler and more generic code.
void foo(ptrdiff_t sz, int arr[sz]) { for (ptrdiff_t i = 0; i < sz; i++) arr[i] = 0; }
void bar(void) { int x; int y[1];
foo(1, &x); foo(1, y); }
nxt_conf_array_elements_count_or_1(): Similar to nxt_conf_array_elements_count(). Return a size of 1 when input is non-array, instead of causing undefined behavior. That value (1) makes sense because it will be used as the limiter of a loop that loops over the array and calls nxt_conf_get_array_element_or_itself(), which will return a correct element for such loops.
nxt_conf_get_array_element_or_itself(): Similar to nxt_conf_get_array_element(). Return the input pointer unmodified (i.e., a pointer to the unique element of a hypothetical array), instead of returning NULL, which wasn't very useful.
nxt_conf_array_qsort(): Since it's a no-op for non-arrays, this API can be reused.
show more ...
|
#
2075:ee1dcaaee932 |
| 19-Dec-2021 |
Alejandro Colomar |
Added 'const' for read-only function parameter.
That parameter is not being modified in the function. Make it 'const' to allow passing 'static const' variables.
|
Revision tags: 1.26.1-1, 1.26.1, 1.26.0-1, 1.26.0, 1.25.0-1, 1.25.0, 1.24.0-1, 1.24.0, 1.23.0-1, 1.23.0, 1.22.0-1, 1.22.0, 1.21.0-1, 1.21.0, 1.20.0-1, 1.20.0, 1.19.0-1, 1.19.0, 1.18.0-1, 1.18.0, 1.17.0-1, 1.17.0 |
|
#
1442:f215dd2184dd |
| 01-Apr-2020 |
Valentin Bartenev |
Fixed build with Clang 10, broken by 32578e837322.
This silences the -Wimplicit-int-float-conversion warning.
|
#
1439:32578e837322 |
| 30-Mar-2020 |
Valentin Bartenev |
Configuration: support for rational numbers.
|
#
1425:e3cf8d512e53 |
| 25-Mar-2020 |
Valentin Bartenev |
Configuration: fixed comments parsing.
Unclosed multi-line comments and "/" at the end of JSON shouldn't be allowed.
|
Revision tags: 1.16.0-1, 1.16.0 |
|
#
1363:69aba3ef7042 |
| 20-Feb-2020 |
Valentin Bartenev |
Configuration: stripping comments from the input JSON.
This allows to have JavaScript-like comments in the uploading JSON.
|
Revision tags: 1.15.0-1, 1.15.0, 1.14.0-1, 1.14.0, 1.13.0-1, 1.13.0 |
|
#
1236:46331b9ef11a |
| 11-Oct-2019 |
Tiago Natel |
Fixed passing false in namespace flags.
This patch closes #328 in github.
|
Revision tags: 1.12.0-1, 1.12.0, 1.11.0-2, 1.11.0-1, 1.11.0 |
|
#
1174:08a98a957d18 |
| 18-Sep-2019 |
Valentin Bartenev |
Configuration: added ability to modify object members with slashes.
Example:
PUT/POST/DELETE /config/listeners/unix:%2Fpath%2Fto%2Fsocket
This follows a49ee872e83d.
|
#
1167:a49ee872e83d |
| 16-Sep-2019 |
Valentin Bartenev |
Configuration: added ability to access object members with slashes.
Now URI encoding can be used to escape "/" in the request path:
GET /config/listeners/unix:%2Fpath%2Fto%2Fsocket/
|
Revision tags: 1.10.0-2, 1.10.0-1, 1.10.0, 1.9.0-1, 1.9.0 |
|
#
1049:961567625038 |
| 24-Apr-2019 |
Valentin Bartenev |
Configuration: support for POST operations on arrays.
It allows to add an array element without specifying the index.
|
#
1048:c91e5849a6a6 |
| 24-Apr-2019 |
Valentin Bartenev |
Configuration: support for manipulations of array elements.
Now PUT and DELETE operations also work on elements. This closes #242 issue on GitHub.
|
#
1047:58384c8ba11c |
| 24-Apr-2019 |
Valentin Bartenev |
Refactored nxt_conf_op_compile().
Now index is always initialized for create operations.
The changes in nxt_conf_op_compile() simplify adding upcoming support of operations with arrays.
No functio
Refactored nxt_conf_op_compile().
Now index is always initialized for create operations.
The changes in nxt_conf_op_compile() simplify adding upcoming support of operations with arrays.
No functional changes.
show more ...
|
#
1046:f8fecc902449 |
| 24-Apr-2019 |
Valentin Bartenev |
Removed unused field from nxt_conf_op_s.
|
Revision tags: 1.8.0-1, 1.8.0 |
|
#
962:441ac71b793a |
| 26-Feb-2019 |
Igor Sysoev |
Introduced nxt_conf_array_qsort().
|
#
961:94b4c5bb66e3 |
| 26-Feb-2019 |
Igor Sysoev |
Introduced nxt_conf_array_elements_count().
|
Revision tags: 1.7.1-1, 1.7.1, 1.7-1, 1.7, 1.6-1, 1.6 |
|
#
839:d9099392bae1 |
| 15-Nov-2018 |
Valentin Bartenev |
Fixed discovering of modules on 64-bit big-endian systems.
The nxt_conf_map_object() function used nxt_int_t for NXT_CONF_MAP_INT, which was 8 bytes long on 64-bit systems.
But the nxt_port_main_st
Fixed discovering of modules on 64-bit big-endian systems.
The nxt_conf_map_object() function used nxt_int_t for NXT_CONF_MAP_INT, which was 8 bytes long on 64-bit systems.
But the nxt_port_main_start_worker_handler() used it to map into the int field of the nxt_common_app_conf_t structure, which was 4 bytes. As the result, on a 64-bit big-endian system all the meaningful module type numbers were assigned into the gap above the "type" field.
The bug was discovered on IBM/S390x.
show more ...
|
Revision tags: 1.5-1, 1.5, 1.4-2, 1.4 |
|
#
775:6ce55d96f9d9 |
| 20-Sep-2018 |
Valentin Bartenev |
Controller: addressing of array elements in requests.
|
#
774:b21709350c49 |
| 20-Sep-2018 |
Valentin Bartenev |
Controller: certificates storage interface.
|
#
773:ff0e7d712ef3 |
| 20-Sep-2018 |
Valentin Bartenev |
Deduplicated string value initializations.
|
Revision tags: 1.3 |
|
#
703:2d536dde84d2 |
| 25-Jun-2018 |
Valentin Bartenev |
Introduced nxt_length() macro.
|
Revision tags: 1.2, 1.1, 1.0 |
|
#
611:323e11065f83 |
| 04-Apr-2018 |
Valentin Bartenev |
Style: capitalized letters in hexadecimal literals.
|
#
598:70677ad404c1 |
| 29-Mar-2018 |
Igor Sysoev |
nxt_lvlhsh_each() refactoring and nxt_lvlhsh_each_init().
|
Revision tags: 0.7, 0.6, 0.5 |
|
#
507:fa714d76592b |
| 29-Jan-2018 |
Max Romanov |
Introducing extended app process management.
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max
Introducing extended app process management.
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0).
show more ...
|
Revision tags: 0.4, 0.3 |
|
#
383:2c566653d774 |
| 21-Nov-2017 |
Valentin Bartenev |
Fixed crash on invalid JSON number.
|