unrustify UPDATE move to version 0.76
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6702622..114bd32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -314,7 +314,7 @@
if ("${BUILD_TYPE_UPPER}" STREQUAL "DEBUG")
# enable before adding tests to let them detect that format checking is available - one of the tests is format checking
- source_format_enable(0.75)
+ source_format_enable(0.76)
endif()
# generate files
diff --git a/src/common.c b/src/common.c
index 8edeb33..38f51ea 100644
--- a/src/common.c
+++ b/src/common.c
@@ -458,6 +458,7 @@
while (to_read > 0) {
ssize_t n = read(fd, buf, to_read);
+
if (n == 0) {
return LY_SUCCESS;
} else if (n < 0) {
diff --git a/src/json.c b/src/json.c
index ba711e1..5c45c8c 100644
--- a/src/json.c
+++ b/src/json.c
@@ -164,6 +164,7 @@
* (one-char) entities and character references */
if (len + offset + 4 >= size) {
size_t increment;
+
for (increment = BUFSIZE_STEP; len + offset + 4 >= size + increment; increment += BUFSIZE_STEP) {}
buf = ly_realloc(buf, size + increment);
LY_CHECK_ERR_RET(!buf, LOGMEM(jsonctx->ctx), LY_EMEM);
@@ -488,7 +489,7 @@
/* Final position of decimal point in the buf. */
int32_t dp_position;
/* Exponent as integer. */
- long long int e_val;
+ long long e_val;
/* Byte for the decimal point. */
int8_t dot;
/* Required additional byte for the minus sign. */
diff --git a/src/parser_common.c b/src/parser_common.c
index 92b7b29..6fe068b 100644
--- a/src/parser_common.c
+++ b/src/parser_common.c
@@ -333,8 +333,10 @@
#elif defined _WIN32
HANDLE h = _get_osfhandle(in->method.fd);
FILE_NAME_INFO info;
+
if (GetFileInformationByHandleEx(h, FileNameInfo, &info, sizeof info)) {
char *buf = calloc(info.FileNameLength + 1 /* trailing NULL */, MB_CUR_MAX);
+
len = wcstombs(buf, info.FileName, info.FileNameLength * MB_CUR_MAX);
lydict_insert(ctx, buf, len, filepath);
}
@@ -914,8 +916,8 @@
{
size_t arg_len;
char *ptr = NULL;
- long long int num = 0;
- unsigned long long int unum = 0;
+ long long num = 0;
+ unsigned long long unum = 0;
if (*flags & LYS_SET_VALUE) {
LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, lyplg_ext_stmt2str(stmt->kw));
@@ -1055,7 +1057,7 @@
{
char *ptr;
size_t arg_len;
- unsigned long long int num;
+ unsigned long long num;
if (*fracdig) {
LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, "fraction-digits");
@@ -1946,7 +1948,7 @@
{
size_t arg_len;
char *ptr;
- unsigned long long int num;
+ unsigned long long num;
if (*flags & LYS_SET_MAX) {
LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, "max-elements");
@@ -2012,7 +2014,7 @@
{
size_t arg_len;
char *ptr;
- unsigned long long int num;
+ unsigned long long num;
if (*flags & LYS_SET_MIN) {
LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, "min-elements");
diff --git a/src/parser_yang.c b/src/parser_yang.c
index d250c00..dd84480 100644
--- a/src/parser_yang.c
+++ b/src/parser_yang.c
@@ -1788,8 +1788,8 @@
LY_ERR ret = LY_SUCCESS;
char *buf = NULL, *word, *ptr;
size_t word_len;
- long long int num = 0;
- unsigned long long int unum = 0;
+ long long num = 0;
+ unsigned long long unum = 0;
enum ly_stmt kw;
if (enm->flags & LYS_SET_VALUE) {
@@ -1941,7 +1941,7 @@
LY_ERR ret = LY_SUCCESS;
char *buf = NULL, *word, *ptr;
size_t word_len;
- unsigned long long int num;
+ unsigned long long num;
enum ly_stmt kw;
if (type->fraction_digits) {
@@ -2382,7 +2382,7 @@
LY_ERR ret = LY_SUCCESS;
char *buf = NULL, *word, *ptr;
size_t word_len;
- unsigned long long int num;
+ unsigned long long num;
enum ly_stmt kw;
if (*flags & LYS_SET_MAX) {
@@ -2454,7 +2454,7 @@
LY_ERR ret = LY_SUCCESS;
char *buf = NULL, *word, *ptr;
size_t word_len;
- unsigned long long int num;
+ unsigned long long num;
enum ly_stmt kw;
if (*flags & LYS_SET_MIN) {
diff --git a/src/parser_yin.c b/src/parser_yin.c
index 6b5ff77..fa44968 100644
--- a/src/parser_yin.c
+++ b/src/parser_yin.c
@@ -202,7 +202,7 @@
name = in->current;
ly_in_free(in, 0);
- if (name - start == (long int)name_len) {
+ if (name - start == (long)name_len) {
/* this is done because of collision in yang statement value and yang argument mapped to yin element value */
if ((kw == LY_STMT_VALUE) && (parent == LY_STMT_ERROR_MESSAGE)) {
return LY_STMT_ARG_VALUE;
@@ -707,7 +707,7 @@
{
const char *temp_val = NULL;
char *ptr;
- unsigned long long int num;
+ unsigned long long num;
LY_CHECK_RET(lyxml_ctx_next(ctx->xmlctx));
LY_CHECK_RET(yin_parse_attribute(ctx, YIN_ARG_VALUE, &temp_val, Y_STR_ARG, LY_STMT_FRACTION_DIGITS));
@@ -1132,8 +1132,8 @@
LY_ERR ret = LY_SUCCESS;
const char *temp_val = NULL;
char *ptr;
- long long int num = 0;
- unsigned long long int unum = 0;
+ long long num = 0;
+ unsigned long long unum = 0;
assert(parent_stmt == LY_STMT_POSITION || parent_stmt == LY_STMT_VALUE);
@@ -1363,7 +1363,7 @@
LY_ERR ret = LY_SUCCESS;
const char *temp_val = NULL;
char *ptr;
- unsigned long long int num;
+ unsigned long long num;
struct yin_subelement subelems[] = {
{LY_STMT_EXTENSION_INSTANCE, NULL, 0},
};
@@ -1415,7 +1415,7 @@
{
const char *temp_val = NULL;
char *ptr;
- unsigned long long int num;
+ unsigned long long num;
struct yin_subelement subelems[] = {
{LY_STMT_EXTENSION_INSTANCE, NULL, 0},
};
diff --git a/src/plugins_types.c b/src/plugins_types.c
index 5ffbc6d..cb4b896 100644
--- a/src/plugins_types.c
+++ b/src/plugins_types.c
@@ -499,6 +499,7 @@
if ((rc != PCRE2_ERROR_NOMATCH) && (rc < 0)) {
PCRE2_UCHAR pcre2_errmsg[LY_PCRE2_MSG_LIMIT] = {0};
+
pcre2_get_error_message(rc, pcre2_errmsg, LY_PCRE2_MSG_LIMIT);
return ly_err_new(err, LY_ESYS, 0, NULL, NULL, "%s", (const char *)pcre2_errmsg);
@@ -510,6 +511,7 @@
return ly_err_new(err, LY_EVALID, LYVE_DATA, NULL, eapptag, "%s", patterns[u]->emsg);
} else {
const char *inverted = patterns[u]->inverted ? "inverted " : "";
+
return ly_err_new(err, LY_EVALID, LYVE_DATA, NULL, eapptag,
LY_ERRMSG_NOPATTERN, (int)str_len, str, inverted, patterns[u]->expr);
}
diff --git a/src/printer_yang.c b/src/printer_yang.c
index aaf1d64..ea643ac 100644
--- a/src/printer_yang.c
+++ b/src/printer_yang.c
@@ -354,7 +354,7 @@
static void
ypr_unsigned(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts,
- unsigned long int attr_value, ly_bool *flag)
+ unsigned long attr_value, ly_bool *flag)
{
char *str;
@@ -368,7 +368,7 @@
}
static void
-ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, signed long int attr_value,
+ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, long attr_value,
ly_bool *flag)
{
char *str;
diff --git a/src/printer_yin.c b/src/printer_yin.c
index 0a9312d..74e0f0e 100644
--- a/src/printer_yin.c
+++ b/src/printer_yin.c
@@ -205,7 +205,7 @@
}
static void
-ypr_unsigned(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, unsigned long int attr_value)
+ypr_unsigned(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, unsigned long attr_value)
{
char *str;
@@ -218,7 +218,7 @@
}
static void
-ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, signed long int attr_value)
+ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, long attr_value)
{
char *str;
diff --git a/src/schema_compile_node.c b/src/schema_compile_node.c
index 9364554..0b64dcb 100644
--- a/src/schema_compile_node.c
+++ b/src/schema_compile_node.c
@@ -1328,6 +1328,7 @@
&err_code, &err_offset, NULL);
if (!code_local) {
PCRE2_UCHAR err_msg[LY_PCRE2_MSG_LIMIT] = {0};
+
pcre2_get_error_message(err_code, err_msg, LY_PCRE2_MSG_LIMIT);
LOGVAL(ctx, LY_VCODE_INREGEXP, pattern, perl_regex + err_offset, err_msg);
free(perl_regex);
diff --git a/tests/utests/basic/test_context.c b/tests/utests/basic/test_context.c
index ad81fb4..4c4cc3f 100644
--- a/tests/utests/basic/test_context.c
+++ b/tests/utests/basic/test_context.c
@@ -635,6 +635,7 @@
"</modules-state>";
char *with_netconf_features = malloc(8096);
+
strcpy(with_netconf_features,
DATA_YANG_LIBRARY_START
" <module>\n"
diff --git a/tests/utests/data/test_diff.c b/tests/utests/data/test_diff.c
index b0d5104..1b7592a 100644
--- a/tests/utests/data/test_diff.c
+++ b/tests/utests/data/test_diff.c
@@ -32,26 +32,26 @@
struct lyd_node *data1;\
struct lyd_node *data2;\
struct lyd_node *data3;\
- /*create*/\
+ /*create*/\
CHECK_PARSE_LYD(XML1, data1);\
CHECK_PARSE_LYD(XML2, data2);\
CHECK_PARSE_LYD(XML3, data3);\
- /* diff1 */ \
+ /* diff1 */ \
struct lyd_node *diff1;\
CHECK_PARSE_LYD_DIFF(data1, data2, diff1); \
CHECK_LYD_STRING(diff1, DIFF1); \
assert_int_equal(lyd_diff_apply_all(&data1, diff1), LY_SUCCESS); \
CHECK_LYD(data1, data2); \
- /* diff2 */ \
+ /* diff2 */ \
struct lyd_node *diff2;\
CHECK_PARSE_LYD_DIFF(data2, data3, diff2); \
CHECK_LYD_STRING(diff2, DIFF2); \
assert_int_equal(lyd_diff_apply_all(&data2, diff2), LY_SUCCESS);\
CHECK_LYD(data2, data3);\
- /* merge */ \
+ /* merge */ \
assert_int_equal(lyd_diff_merge_all(&diff1, diff2, 0), LY_SUCCESS);\
CHECK_LYD_STRING(diff1, MERGE); \
- /* cleanup */ \
+ /* cleanup */ \
lyd_free_all(data1);\
lyd_free_all(data2);\
lyd_free_all(data3);\
diff --git a/tests/utests/schema/test_yang.c b/tests/utests/schema/test_yang.c
index 97c96ef..78b1798 100644
--- a/tests/utests/schema/test_yang.c
+++ b/tests/utests/schema/test_yang.c
@@ -1425,6 +1425,7 @@
assert_int_equal(LY_SUCCESS, parse_any(YCTX, kw, NULL, (struct lysp_node **)&any));
// CHECK_LYSP_NODE(NODE, DSC, EXTS, FLAGS, IFFEATURES, NAME, NEXT, TYPE, PARENT, REF, WHEN)
uint16_t node_type = kw == LY_STMT_ANYDATA ? LYS_ANYDATA : LYS_ANYXML;
+
CHECK_LYSP_NODE(any, "test", 1, LYS_CONFIG_W | LYS_STATUS_CURR | LYS_MAND_TRUE, 1, "any", 0, node_type, 0, "test", 1);
assert_non_null(any->musts);
lysp_node_free(&fctx, (struct lysp_node *)any); any = NULL;
diff --git a/tests/utests/schema/test_yin.c b/tests/utests/schema/test_yin.c
index 3099cac..0ce3abc 100644
--- a/tests/utests/schema/test_yin.c
+++ b/tests/utests/schema/test_yin.c
@@ -91,11 +91,13 @@
/* prototypes of static functions */
enum yin_argument yin_match_argument_name(const char *name, size_t len);
+
LY_ERR yin_parse_content(struct lysp_yin_ctx *ctx, struct yin_subelement *subelem_info, size_t subelem_info_size,
const void *parent, enum ly_stmt parent_stmt, const char **text_content, struct lysp_ext_instance **exts);
LY_ERR yin_validate_value(struct lysp_yin_ctx *ctx, enum yang_arg val_type);
enum ly_stmt yin_match_keyword(struct lysp_yin_ctx *ctx, const char *name, size_t name_len,
const char *prefix, size_t prefix_len, enum ly_stmt parrent);
+
LY_ERR yin_parse_extension_instance(struct lysp_yin_ctx *ctx, const void *parent, enum ly_stmt parent_stmt,
LY_ARRAY_COUNT_TYPE parent_stmt_index, struct lysp_ext_instance **exts);
LY_ERR yin_parse_element_generic(struct lysp_yin_ctx *ctx, enum ly_stmt parent, struct lysp_stmt **element);
diff --git a/tests/utests/utests.h b/tests/utests/utests.h
index 8726910..877d048 100644
--- a/tests/utests/utests.h
+++ b/tests/utests/utests.h
@@ -366,12 +366,12 @@
* @param[in] TYPEDEFS expected [sized array](@ref sizedarrays) size of list of typedefs
*/
#define CHECK_LYSP_ACTION(NODE, DSC, EXTS, FLAGS, GROUPINGS, IFFEATURES, \
- INPUT_DATA, INPUT_EXTS, INPUT_GROUPINGS, INPUT_MUSTS, \
- INPUT_PARENT, INPUT_TYPEDEFS, \
- NAME, NODETYPE, \
- OUTPUT_DATA, OUTPUT_EXTS, OUTPUT_GROUPINGS, OUTPUT_MUSTS, \
- OUTPUT_PARENT, OUTPUT_TYPEDEFS, \
- PARENT, REF, TYPEDEFS) \
+ INPUT_DATA, INPUT_EXTS, INPUT_GROUPINGS, INPUT_MUSTS, \
+ INPUT_PARENT, INPUT_TYPEDEFS, \
+ NAME, NODETYPE, \
+ OUTPUT_DATA, OUTPUT_EXTS, OUTPUT_GROUPINGS, OUTPUT_MUSTS, \
+ OUTPUT_PARENT, OUTPUT_TYPEDEFS, \
+ PARENT, REF, TYPEDEFS) \
assert_non_null(NODE); \
CHECK_STRING((NODE)->dsc, DSC); \
CHECK_ARRAY((NODE)->exts, EXTS); \
@@ -440,13 +440,12 @@
* @param[in] NAME expected name of imported module
* @param[in] PREFIX expected prefix for the data from the imported schema
* @param[in] REF expected reference
- * @prame[in] REV expected reprezenting date in format "11-10-2020"
+ * @param[in] REV expected reprezenting date in format "11-10-2020"
*/
#define CHECK_LYSP_IMPORT(NODE, DSC, EXTS, NAME, PREFIX, REF, REV) \
assert_non_null(NODE); \
CHECK_STRING((NODE)->dsc, DSC); \
CHECK_ARRAY((NODE)->exts, EXTS); \
- /*assert_non_null((NODE)->module); // ?? it is mandatory but in some test it doesnt work */ \
assert_string_equal((NODE)->name, NAME); \
assert_string_equal((NODE)->prefix, PREFIX); \
CHECK_STRING((NODE)->ref, REF); \
@@ -488,7 +487,6 @@
assert_non_null(NODE); \
CHECK_STRING((NODE)->argument, ARGUMENT); \
CHECK_POINTER((NODE)->child, CHILD); \
- /*assert_int_equal((NODE)->flags, LYS_INTERNAL);*/ \
assert_int_equal((NODE)->parent_stmt, PARENT_STMT); \
assert_int_equal((NODE)->parent_stmt_index, PARENT_STMT_INDEX); \
assert_string_equal((NODE)->name, NAME); \
@@ -557,7 +555,7 @@
* @param[in] TYPES expected [sized array](@ref sizedarrays) size of list of sub-types
*/
#define CHECK_LYSP_TYPE(NODE, BASES, BITS, COMPILED, ENUMS, EXTS, FLAGS, FRACTIONS_DIGITS, \
- LENGTH, NAME, PATH, PATTERNS, PMOD, RANGE, REQUIRE_INSTANCE, TYPES) \
+ LENGTH, NAME, PATH, PATTERNS, PMOD, RANGE, REQUIRE_INSTANCE, TYPES) \
assert_non_null(NODE);\
CHECK_ARRAY((NODE)->bases, BASES); \
CHECK_ARRAY((NODE)->bits, BITS); \
@@ -623,7 +621,7 @@
* @param[in] DFLT 0-> node dosn't have default value. 1 -> node have default value
*/
#define CHECK_LYSP_NODE_LEAF(NODE, DSC, EXTS, FLAGS, IFFEATURES, NAME, NEXT, \
- PARENT, REF, WHEN, MUSTS, UNITS, DFLT) \
+ PARENT, REF, WHEN, MUSTS, UNITS, DFLT) \
CHECK_LYSP_NODE(NODE, DSC, EXTS, FLAGS, IFFEATURES, NAME, NEXT, LYS_LEAF, PARENT, REF, WHEN); \
CHECK_ARRAY((NODE)->musts, MUSTS); \
CHECK_STRING((NODE)->units, UNITS); \
@@ -696,7 +694,7 @@
* @param[in] WHEN expected [sized array](@ref sizedarrays) size of list of pointers to when statements
*/
#define CHECK_LYSC_ACTION(NODE, DSC, EXTS, FLAGS, INPUT_DATA, INPUT_MUST, INPUT_EXTS, MODULE, NAME, NODETYPE, \
- OUTPUT_DATA, OUTPUT_MUST, OUTPUT_EXTS, PARENT, PRIV, REF, WHEN) \
+ OUTPUT_DATA, OUTPUT_MUST, OUTPUT_EXTS, PARENT, PRIV, REF, WHEN) \
assert_non_null(NODE); \
CHECK_STRING((NODE)->dsc, DSC); \
CHECK_ARRAY((NODE)->exts, EXTS); \
@@ -770,7 +768,7 @@
* @param[in] WHEN [sized array](@ref sizedarrays) size of when node array
*/
#define CHECK_LYSC_NODE_LIST(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, \
- PARENT, PRIV, REF, ACTIONS, CHILD, MAX, MIN, MUSTS, NOTIFS, UNIQUES, WHEN) \
+ PARENT, PRIV, REF, ACTIONS, CHILD, MAX, MIN, MUSTS, NOTIFS, UNIQUES, WHEN) \
CHECK_LYSC_NODE(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, LYS_LIST, PARENT, PRIV, REF, WHEN); \
CHECK_POINTER((NODE)->actions, ACTIONS); \
CHECK_POINTER((NODE)->child, CHILD); \
@@ -800,7 +798,7 @@
* @param[in] DFLT 0-> node dosn't have default value. 1 -> node have default value
*/
#define CHECK_LYSC_NODE_LEAF(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, \
- PARENT, PRIV, REF, WHEN, MUSTS, UNITS, DFLT) \
+ PARENT, PRIV, REF, WHEN, MUSTS, UNITS, DFLT) \
CHECK_LYSC_NODE(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, LYS_LEAF, PARENT, PRIV, REF, WHEN); \
CHECK_ARRAY((NODE)->musts, MUSTS); \
assert_non_null((NODE)->type); \
diff --git a/tools/lint/main_ni.c b/tools/lint/main_ni.c
index e393241..04c2340 100644
--- a/tools/lint/main_ni.c
+++ b/tools/lint/main_ni.c
@@ -587,6 +587,7 @@
case 'V': { /* --verbose */
LY_LOG_LEVEL verbosity = ly_log_level(LY_LLERR);
+
if (verbosity < LY_LLDBG) {
++verbosity;
}
@@ -596,6 +597,7 @@
case 'Q': { /* --quiet */
LY_LOG_LEVEL verbosity = ly_log_level(LY_LLERR);
+
if (verbosity == LY_LLERR) {
/* turn logging off */
ly_log_options(LY_LOSTORE_LAST);
diff --git a/uncrustify.cfg b/uncrustify.cfg
index 6c76edb..ec52e71 100644
--- a/uncrustify.cfg
+++ b/uncrustify.cfg
@@ -1,4 +1,4 @@
-# Uncrustify-0.71.0_f
+# Uncrustify-0.76.0_f
#
# General options
@@ -1539,9 +1539,15 @@
# Newline adding and removing options
#
-# Whether to collapse empty blocks between '{' and '}'.
+# Whether to collapse empty blocks between '{' and '}' except for functions.
+# Use nl_collapse_empty_body_functions to specify how empty function braces
+# should be formatted.
nl_collapse_empty_body = true # true/false
+# Whether to collapse empty blocks between '{' and '}' for functions only.
+# If true, overrides nl_inside_empty_func.
+nl_collapse_empty_body_functions = false # true/false
+
# Don't split one-line braced assignments, as in 'foo_t f = { 1, 2 };'.
nl_assign_leave_one_liners = true # true/false
@@ -1994,6 +2000,12 @@
# See nl_oc_msg_leave_one_liner.
nl_oc_msg_args = false # true/false
+# (OC) Minimum number of Objective-C message parameters before applying nl_oc_msg_args.
+nl_oc_msg_args_min_params = 0 # unsigned number
+
+# (OC) Max code width of Objective-C message before applying nl_oc_msg_args.
+nl_oc_msg_args_max_code_width = 0 # unsigned number
+
# Add or remove newline between function signature and '{'.
nl_fdef_brace = force # ignore/add/remove/force
@@ -2007,6 +2019,9 @@
# Add or remove newline between 'return' and the return expression.
nl_return_expr = remove # ignore/add/remove/force
+# Add or remove newline between 'throw' and the throw expression.
+nl_throw_expr = ignore # ignore/add/remove/force/not_defined
+
# Whether to add a newline after semicolons, except in 'for' statements.
nl_after_semicolon = false # true/false
@@ -2252,12 +2267,6 @@
# Overrides nl_after_func_body and nl_after_func_body_class.
nl_after_func_body_one_liner = 2 # unsigned number
-# The number of blank lines after a block of variable definitions at the top
-# of a function body.
-#
-# 0: No change (default).
-nl_func_var_def_blk = 1 # unsigned number
-
# The number of newlines before a block of typedefs. If nl_after_access_spec
# is non-zero, that option takes precedence.
#
@@ -2274,6 +2283,15 @@
# 0: No change (default).
nl_typedef_blk_in = 0 # unsigned number
+# The minimum number of blank lines after a block of variable definitions
+# at the top of a function body. If any preprocessor directives appear
+# between the opening brace of the function and the variable block, then
+# it is considered as not at the top of the function.Newlines are added
+# before trailing preprocessor directives, if any exist.
+#
+# 0: No change (default).
+nl_var_def_blk_end_func_top = 1 # unsigned number
+
# The number of newlines before a block of variable definitions not at the top
# of a function body. If nl_after_access_spec is non-zero, that option takes
# precedence.
@@ -3075,6 +3093,9 @@
# Add or remove unnecessary parenthesis on 'return' statement.
mod_paren_on_return = remove # ignore/add/remove/force
+# Add or remove unnecessary parentheses on 'throw' statement.
+mod_paren_on_throw = ignore # ignore/add/remove/force/not_defined
+
# (Pawn) Whether to change optional semicolons to real semicolons.
mod_pawn_semicolon = false # true/false
@@ -3172,6 +3193,49 @@
# Add or remove the comma after the last value of an enumeration.
mod_enum_last_comma = remove # ignore/add/remove/force
+# Syntax to use for infinite loops.
+#
+# 0: Leave syntax alone (default)
+# 1: Rewrite as `for(;;)`
+# 2: Rewrite as `while(true)`
+# 3: Rewrite as `do`...`while(true);`
+# 4: Rewrite as `while(1)`
+# 5: Rewrite as `do`...`while(1);`
+#
+# Infinite loops that do not already match one of these syntaxes are ignored.
+# Other options that affect loop formatting will be applied after transforming
+# the syntax.
+mod_infinite_loop = 0 # unsigned number
+
+# Add or remove the 'int' keyword in 'int short'.
+mod_int_short = remove # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'short int'.
+mod_short_int = remove # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'int long'.
+mod_int_long = remove # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'long int'.
+mod_long_int = remove # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'int signed'.
+mod_int_signed = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'signed int'.
+mod_signed_int = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'int unsigned'.
+mod_int_unsigned = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'unsigned int'.
+mod_unsigned_int = ignore # ignore/add/remove/force/not_defined
+
+# If there is a situation where mod_int_* and mod_*_int would result in
+# multiple int keywords, whether to keep the rightmost int (the default) or the
+# leftmost int.
+mod_int_prefer_int_on_left = false # true/false
+
# (OC) Whether to organize the properties. If true, properties will be
# rearranged according to the mod_sort_oc_property_*_weight factors.
mod_sort_oc_properties = false # true/false
@@ -3203,6 +3267,16 @@
# Preprocessor options
#
+# How to use tabs when indenting preprocessor code.
+#
+# -1: Use 'indent_with_tabs' setting (default)
+# 0: Spaces only
+# 1: Indent with tabs to brace level, align with spaces
+# 2: Indent and align with tabs, using spaces when not on a tabstop
+#
+# Default: -1
+pp_indent_with_tabs = 0 # number
+
# Add or remove indentation of preprocessor directives inside #if blocks
# at brace level 0 (file-level).
pp_indent = ignore # ignore/add/remove/force
@@ -3223,8 +3297,8 @@
# Default: 1
pp_indent_count = 0 # unsigned number
-# Add or remove space after # based on pp_level of #if blocks.
-pp_space = ignore # ignore/add/remove/force
+# Add or remove space after # based on pp level of #if blocks.
+pp_space_after = ignore # ignore/add/remove/force/not_defined
# Sets the number of spaces per level added with pp_space.
pp_space_count = 0 # unsigned number
@@ -3259,6 +3333,18 @@
# Whether to ignore the '#define' body while formatting.
pp_ignore_define_body = true # true/false
+# An offset value that controls the indentation of the body of a multiline #define.
+# 'body' refers to all the lines of a multiline #define except the first line.
+# Requires 'pp_ignore_define_body = false'.
+#
+# <0: Absolute column: the body indentation starts off at the specified column
+# (ex. -3 ==> the body is indented starting from column 3)
+# >=0: Relative to the column of the '#' of '#define'
+# (ex. 3 ==> the body is indented starting 3 columns at the right of '#')
+#
+# Default: 8
+pp_multiline_define_body_indent = 8 # number
+
# Whether to indent case statements between #if, #else, and #endif.
# Only applies to the indent of the preprocesser that the case statements
# directly inside of.
@@ -3412,6 +3498,18 @@
# 0: do not truncate.
debug_truncate = 0 # unsigned number
+# sort (or not) the tracking info.
+#
+# Default: true
+debug_sort_the_tracks = true # true/false
+
+# decode (or not) the flags as a new line.
+# only if the -p option is set.
+debug_decode_the_flags = false # true/false
+
+# insert the number of the line at the beginning of each line
+set_numbering_for_html_output = false # true/false
+
# Meaning of the settings:
# Ignore - do not do any changes
# Add - makes sure there is 1 or more space/brace/newline/etc