int varlink_idl_parse(
const char *text,
- unsigned *line,
- unsigned *column,
+ unsigned *reterr_line,
+ unsigned *reterr_column,
sd_varlink_interface **ret) {
_cleanup_(varlink_interface_freep) sd_varlink_interface *interface = NULL;
const char **p = &text;
int r;
- if (!line)
- line = &_line;
- if (!column)
- column = &_column;
+ if (!reterr_line)
+ reterr_line = &_line;
+ if (!reterr_column)
+ reterr_column = &_column;
while (state != STATE_DONE) {
_cleanup_free_ char *token = NULL;
r = varlink_idl_subparse_token(
p,
- line,
- column,
+ reterr_line,
+ reterr_column,
allowed_delimiters,
allowed_chars,
&token);
case STATE_PRE_INTERFACE:
if (!token)
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *line, *column);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *reterr_line, *reterr_column);
if (streq(token, "#")) {
_cleanup_free_ char *comment = NULL;
- r = varlink_idl_subparse_comment(&text, line, column, &comment);
+ r = varlink_idl_subparse_comment(&text, reterr_line, reterr_column, &comment);
if (r < 0)
return r;
allowed_delimiters = NULL;
allowed_chars = VALID_CHARS_INTERFACE_NAME;
} else
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Unexpected token '%s'.", *line, *column, token);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Unexpected token '%s'.", *reterr_line, *reterr_column, token);
break;
case STATE_INTERFACE:
if (!token)
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *line, *column);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *reterr_line, *reterr_column);
r = varlink_interface_realloc(&interface, n_symbols);
if (r < 0)
if (streq(token, "#")) {
_cleanup_free_ char *comment = NULL;
- r = varlink_idl_subparse_comment(&text, line, column, &comment);
+ r = varlink_idl_subparse_comment(&text, reterr_line, reterr_column, &comment);
if (r < 0)
return r;
state = STATE_ERROR;
allowed_chars = VALID_CHARS_IDENTIFIER;
} else
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Unexpected token '%s'.", *line, *column, token);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Unexpected token '%s'.", *reterr_line, *reterr_column, token);
break;
n_fields = 0;
if (!token)
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *line, *column);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *reterr_line, *reterr_column);
r = varlink_symbol_realloc(&symbol, n_fields);
if (r < 0)
symbol->symbol_type = SD_VARLINK_METHOD;
symbol->name = TAKE_PTR(token);
- r = varlink_idl_subparse_struct_or_enum(&text, line, column, &symbol, &n_fields, SD_VARLINK_INPUT, 0);
+ r = varlink_idl_subparse_struct_or_enum(&text, reterr_line, reterr_column, &symbol, &n_fields, SD_VARLINK_INPUT, 0);
if (r < 0)
return r;
assert(symbol);
if (!token)
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *line, *column);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *reterr_line, *reterr_column);
if (!streq(token, "->"))
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Unexpected token '%s'.", *line, *column, token);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Unexpected token '%s'.", *reterr_line, *reterr_column, token);
- r = varlink_idl_subparse_struct_or_enum(&text, line, column, &symbol, &n_fields, SD_VARLINK_OUTPUT, 0);
+ r = varlink_idl_subparse_struct_or_enum(&text, reterr_line, reterr_column, &symbol, &n_fields, SD_VARLINK_OUTPUT, 0);
if (r < 0)
return r;
n_fields = 0;
if (!token)
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *line, *column);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *reterr_line, *reterr_column);
r = varlink_symbol_realloc(&symbol, n_fields);
if (r < 0)
symbol->symbol_type = _SD_VARLINK_SYMBOL_TYPE_INVALID; /* don't know yet if enum or struct, will be field in by varlink_idl_subparse_struct_or_enum() */
symbol->name = TAKE_PTR(token);
- r = varlink_idl_subparse_struct_or_enum(&text, line, column, &symbol, &n_fields, SD_VARLINK_REGULAR, 0);
+ r = varlink_idl_subparse_struct_or_enum(&text, reterr_line, reterr_column, &symbol, &n_fields, SD_VARLINK_REGULAR, 0);
if (r < 0)
return r;
n_fields = 0;
if (!token)
- return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *line, *column);
+ return varlink_idl_log(SYNTHETIC_ERRNO(EBADMSG), "%u:%u: Premature EOF.", *reterr_line, *reterr_column);
r = varlink_symbol_realloc(&symbol, n_fields);
if (r < 0)
symbol->symbol_type = SD_VARLINK_ERROR;
symbol->name = TAKE_PTR(token);
- r = varlink_idl_subparse_struct_or_enum(&text, line, column, &symbol, &n_fields, SD_VARLINK_REGULAR, 0);
+ r = varlink_idl_subparse_struct_or_enum(&text, reterr_line, reterr_column, &symbol, &n_fields, SD_VARLINK_REGULAR, 0);
if (r < 0)
return r;