History log of /unit/src/nxt_conf.c (Results 1 – 25 of 47)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 2231:5b3a69fd47a7 02-Nov-2022 Alejandro Colomar

Removed the unsafe nxt_memcmp() wrapper for memcmp(3).

The casts are unnecessary, since memcmp(3)'s arguments are 'void *'.
It might have been necessary in the times of K&R, where 'void *' didn't
ex

Removed the unsafe nxt_memcmp() wrapper for memcmp(3).

The casts are unnecessary, since memcmp(3)'s arguments are 'void *'.
It might have been necessary in the times of K&R, where 'void *' didn't
exist. Nowadays, it's unnecessary, and _very_ unsafe, since casts can
hide all classes of bugs by silencing most compiler warnings.

The changes from nxt_memcmp() to memcmp(3) were scripted:

$ find src/ -type f \
| grep '\.[ch]$' \
| xargs sed -i 's/nxt_memcmp/memcmp/'

Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
Signed-off-by: Alejandro Colomar <alx@nginx.com>

show more ...


Revision tags: 1.28.0-1, 1.28.0
# 2185:2227bdbb3c89 29-Aug-2022 Valentin Bartenev

Implemented basic statistics API.


# 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().


12