summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2012-10-26 17:59:42 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2012-10-26 17:59:42 +0100
commitdee67875c1ef981bd3dc56e652df93d4a6f4feda (patch)
tree144afe9df52afaa54f273ff31406896ce8e99794 /json-glib/json-parser.c
parente83baeab7ce16db4597247e793932fd2e507e855 (diff)
downloadjson-glib-dee67875c1ef981bd3dc56e652df93d4a6f4feda.tar.gz
scanner: Remove unused functions
JsonScanner is an internal, modified copy of GScanner; we don't need a bunch of the provided functions, as the type and its related API are meant for internal use only. Fewer functions == better coverage == less code to maintain.
Diffstat (limited to 'json-glib/json-parser.c')
-rw-r--r--json-glib/json-parser.c52
1 files changed, 23 insertions, 29 deletions
diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c
index 4a55763..5053530 100644
--- a/json-glib/json-parser.c
+++ b/json-glib/json-parser.c
@@ -805,35 +805,26 @@ json_parse_statement (JsonParser *parser,
static void
json_scanner_msg_handler (JsonScanner *scanner,
- gchar *message,
- gboolean is_error)
+ gchar *message)
{
JsonParser *parser = scanner->user_data;
JsonParserPrivate *priv = parser->priv;
+ GError *error = NULL;
- if (is_error)
- {
- GError *error = NULL;
-
- /* translators: %s: is the file name, %d is the line number
- * and %s is the error message
- */
- g_set_error (&error, JSON_PARSER_ERROR,
- priv->error_code,
- _("%s:%d:%d: Parse error: %s"),
- priv->is_filename ? priv->filename : "<data>",
- scanner->line,
- scanner->position,
- message);
-
- parser->priv->last_error = error;
- g_signal_emit (parser, parser_signals[ERROR], 0, error);
- }
- else
- g_warning ("%s:%d: Parse error: %s",
- priv->is_filename ? priv->filename : "<none>",
+ /* translators: %s: is the file name, the first %d is the line
+ * number, the second %d is the position on the line, and %s is
+ * the error message
+ */
+ g_set_error (&error, JSON_PARSER_ERROR,
+ priv->error_code,
+ _("%s:%d:%d: Parse error: %s"),
+ priv->is_filename ? priv->filename : "<data>",
scanner->line,
+ scanner->position,
message);
+
+ parser->priv->last_error = error;
+ g_signal_emit (parser, parser_signals[ERROR], 0, error);
}
static JsonScanner *
@@ -846,6 +837,10 @@ json_scanner_create (JsonParser *parser)
scanner->msg_handler = json_scanner_msg_handler;
scanner->user_data = parser;
+ /* XXX: this is eminently stupid, but we use the symbols later on, so
+ * we cannot move them into JsonScanner without moving a bunch of code
+ * as well
+ */
for (i = 0; i < n_symbols; i++)
{
json_scanner_scope_add_symbol (scanner, 0,
@@ -943,8 +938,7 @@ json_parser_load (JsonParser *parser,
*/
json_scanner_unexp_token (scanner, expected_token,
NULL, "value",
- symbol_name, msg,
- TRUE);
+ symbol_name, msg);
/* and this will propagate the error we create in the
* same message handler
@@ -1105,8 +1099,8 @@ json_parser_get_current_line (JsonParser *parser)
{
g_return_val_if_fail (JSON_IS_PARSER (parser), 0);
- if (parser->priv->scanner)
- return json_scanner_cur_line (parser->priv->scanner);
+ if (parser->priv->scanner != NULL)
+ return parser->priv->scanner->line;
return 0;
}
@@ -1129,8 +1123,8 @@ json_parser_get_current_pos (JsonParser *parser)
{
g_return_val_if_fail (JSON_IS_PARSER (parser), 0);
- if (parser->priv->scanner)
- return json_scanner_cur_line (parser->priv->scanner);
+ if (parser->priv->scanner != NULL)
+ return parser->priv->scanner->position;
return 0;
}