label: Remove a double if (needs_root) check

The code is clearer and shorter this way.
This commit is contained in:
Timm Bäder 2020-04-10 16:23:32 +02:00
parent 7a98e79d90
commit b16157bc0d

View File

@ -2224,8 +2224,7 @@ parse_uri_markup (GtkLabel *label,
GError **error)
{
GMarkupParseContext *context = NULL;
const gchar *p, *end;
gboolean needs_root = TRUE;
const char *p, *end;
gsize length;
UriParserData pdata;
@ -2241,22 +2240,21 @@ parse_uri_markup (GtkLabel *label,
while (p != end && xml_isspace (*p))
p++;
if (end - p >= 8 && strncmp (p, "<markup>", 8) == 0)
needs_root = FALSE;
context = g_markup_parse_context_new (&markup_parser, 0, &pdata, NULL);
if (needs_root)
if (end - p >= 8 && strncmp (p, "<markup>", 8) == 0)
{
if (!g_markup_parse_context_parse (context, str, length, error))
goto failed;
}
else
{
if (!g_markup_parse_context_parse (context, "<markup>", -1, error))
goto failed;
}
if (!g_markup_parse_context_parse (context, str, length, error))
goto failed;
if (!g_markup_parse_context_parse (context, str, length, error))
goto failed;
if (needs_root)
{
if (!g_markup_parse_context_parse (context, "</markup>", -1, error))
goto failed;
}