Revision tags: 1.32.0-1, 1.32.0, 1.31.1-1, 1.31.1 |
|
#
2569:942a1e97492a |
| 10-Oct-2023 |
Zhidao HONG |
Refactored nxt_vsprintf().
|
Revision tags: 1.31.0-1, 1.31.0, 1.30.0-1, 1.30.0, 1.29.1-1, 1.29.1, 1.29.0-1, 1.29.0, 1.28.0-1, 1.28.0, 1.27.0-1, 1.27.0 |
|
#
2115:07240703eab8 |
| 01-Jun-2022 |
Andrei Zeliankou |
Logging a NULL pointer instead of passing it in the memcpy().
|
#
2105:428699bc12f7 |
| 17-May-2022 |
Alejandro Colomar |
Added const to remove unnecessary casts.
Casts are usually very dangerous, disabling most compiler warnings and basically removing type safety. This change adds 'const' to a pointer where we don't
Added const to remove unnecessary casts.
Casts are usually very dangerous, disabling most compiler warnings and basically removing type safety. This change adds 'const' to a pointer where we don't need to write, improving type safety, and that also allows removing some casts.
show more ...
|
#
2084:7d479274f334 |
| 30-Apr-2022 |
Alejandro Colomar |
Fixed #define style.
We had a mix of styles for declaring function-like macros:
Style A: #define \ foo() \ do { \ ...
Fixed #define style.
We had a mix of styles for declaring function-like macros:
Style A: #define \ foo() \ do { \ ... \ } while (0)
Style B: #define foo() \ do { \ ... \ } while (0)
We had a similar number of occurences of each style:
$ grep -rnI '^\w*(.*\\' | wc -l 244 $ grep -rn 'define.*(.*)' | wc -l 239
(Those regexes aren't perfect, but a very decent approximation.)
Real examples:
$ find src -type f | xargs sed -n '/^nxt_double_is_zero/,/^$/p' nxt_double_is_zero(f) \ (fabs(f) <= FLT_EPSILON)
$ find src -type f | xargs sed -n '/define nxt_http_field_set/,/^$/p' #define nxt_http_field_set(_field, _name, _value) \ do { \ (_field)->name_length = nxt_length(_name); \ (_field)->value_length = nxt_length(_value); \ (_field)->name = (u_char *) _name; \ (_field)->value = (u_char *) _value; \ } while (0)
I'd like to standardize on a single style for them, and IMO, having the identifier in the same line as #define is a better option for the following reasons:
- Programmers are used to `#define foo() ...` (readability). - One less line of code. - The program for finding them is really simple (see below).
function grep_ngx_func() { if (($# != 1)); then >&2 echo "Usage: ${FUNCNAME[0]} <func>"; return 1; fi;
find src -type f \ | grep '\.[ch]$' \ | xargs grep -l "$1" \ | sort \ | xargs pcregrep -Mn "(?s)^\$[\w\s*]+?^$1\(.*?^}";
find src -type f \ | grep '\.[ch]$' \ | xargs grep -l "$1" \ | sort \ | xargs pcregrep -Mn "(?s)define $1\(.*?^$" \ | sed -E '1s/^[^:]+:[0-9]+:/&\n\n/'; }
$ grep_ngx_func Usage: grep_ngx_func <func>
$ grep_ngx_func nxt_http_field_set src/nxt_http.h:98:
#define nxt_http_field_set(_field, _name, _value) \ do { \ (_field)->name_length = nxt_length(_name); \ (_field)->value_length = nxt_length(_value); \ (_field)->name = (u_char *) _name; \ (_field)->value = (u_char *) _value; \ } while (0)
$ grep_ngx_func nxt_sprintf src/nxt_sprintf.c:56:
u_char * nxt_cdecl nxt_sprintf(u_char *buf, u_char *end, const char *fmt, ...) { u_char *p; va_list args;
va_start(args, fmt); p = nxt_vsprintf(buf, end, fmt, args); va_end(args);
return p; }
................ Scripted change: ................
$ find src -type f \ | grep '\.[ch]$' \ | xargs sed -i '/define *\\$/{N;s/ *\\\n/ /;s/ //}'
show more ...
|
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, 1.16.0-1, 1.16.0, 1.15.0-1, 1.15.0, 1.14.0-1, 1.14.0, 1.13.0-1, 1.13.0, 1.12.0-1, 1.12.0, 1.11.0-2, 1.11.0-1, 1.11.0 |
|
#
1183:6008abf06746 |
| 18-Sep-2019 |
Valentin Bartenev |
Basic support for serving static files.
|
Revision tags: 1.10.0-2, 1.10.0-1, 1.10.0, 1.9.0-1, 1.9.0 |
|
#
1008:84f2370bd642 |
| 11-Mar-2019 |
Andrey Zelenkov |
Style.
|
Revision tags: 1.8.0-1, 1.8.0, 1.7.1-1, 1.7.1, 1.7-1, 1.7, 1.6-1, 1.6, 1.5-1, 1.5, 1.4-2, 1.4, 1.3 |
|
#
704:1fcac04f0a15 |
| 25-Jun-2018 |
Igor Sysoev |
Removed '\r' and '\n' artifact macros.
|
#
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.
|
Revision tags: 0.7, 0.6, 0.5 |
|
#
493:745222d540a2 |
| 24-Jan-2018 |
Sergey Kandaurov |
Using size_t for the field width type of the "%*s" specifier.
|
Revision tags: 0.4, 0.3, 0.2 |
|
#
336:66e8c2ef53c8 |
| 27-Sep-2017 |
Sergey Kandaurov |
Fixed building with pthread_t defined as a pointer.
|
#
326:2aad6a5fac13 |
| 22-Sep-2017 |
Valentin Bartenev |
Removed fibers from compilation.
It's not used anyway, but breaks building with musl.
This closes issue #5 on GitHub.
|
Revision tags: 0.1 |
|
#
72:e0cefa2185a5 |
| 23-Jun-2017 |
Igor Sysoev |
Style and comment fixes.
|
#
10:a8e68ed06863 |
| 01-Feb-2017 |
Igor Sysoev |
nxt_str_t changes.
|
#
0:a63ceefd6ab0 |
| 17-Jan-2017 |
Igor Sysoev |
Initial version.
|