fuzz_content_sniffer.c:fuzz_set_logging_func:
   18|  1.19k|{
   19|  1.19k|#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   20|  1.19k|        if (!set_logger)
  ------------------
  |  Branch (20:13): [True: 1, False: 1.19k]
  ------------------
   21|      1|        {
   22|      1|                set_logger = 1;
   23|      1|                g_log_set_writer_func (empty_logging_func, NULL, NULL);
   24|      1|        }
   25|  1.19k|#endif
   26|  1.19k|}

LLVMFuzzerTestOneInput:
    5|  1.19k|{
    6|  1.19k|        fuzz_set_logging_func ();
    7|       |
    8|       |        /* Each content type has a different code path so lets test them all. */
    9|  1.19k|        static const char* content_types[] = {
   10|  1.19k|                NULL,
   11|  1.19k|                "application/unknown",
   12|  1.19k|                "text/plain",
   13|  1.19k|                "text/html",
   14|  1.19k|                "text/xml",
   15|  1.19k|                "image/something",
   16|  1.19k|                "video/something",
   17|  1.19k|        };
   18|       |
   19|  1.19k|        GBytes *bytes = g_bytes_new (data, size);
   20|  1.19k|        SoupContentSniffer *sniffer = soup_content_sniffer_new ();
   21|       |
   22|  9.57k|        for (unsigned i = 0; i < G_N_ELEMENTS(content_types); i++) {
  ------------------
  |  |  955|  9.57k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (22:30): [True: 8.37k, False: 1.19k]
  ------------------
   23|  8.37k|                SoupMessage *msg = soup_message_new (SOUP_METHOD_GET, "https://example.org");
  ------------------
  |  |   40|  8.37k|#define SOUP_METHOD_GET       _SOUP_INTERN_METHOD (GET)
  |  |  ------------------
  |  |  |  |   36|  8.37k|#define _SOUP_INTERN_METHOD(method) (_SOUP_ATOMIC_INTERN_STRING (_SOUP_METHOD_##method, #method))
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|  8.37k|#define _SOUP_ATOMIC_INTERN_STRING(variable, value) ((const char *)(g_atomic_pointer_get (&(variable)) ? (variable) : (g_atomic_pointer_set (&(variable), (gpointer)g_intern_static_string (value)), (variable))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|  8.37k|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (127:3): [True: 8.37k, False: 1]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|  8.37k|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|  8.37k|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|  8.37k|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|  8.37k|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|  8.37k|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|  8.37k|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define _SOUP_ATOMIC_INTERN_STRING(variable, value) ((const char *)(g_atomic_pointer_get (&(variable)) ? (variable) : (g_atomic_pointer_set (&(variable), (gpointer)g_intern_static_string (value)), (variable))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  135|      1|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  136|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  137|      1|    glib_typeof ((atomic)) gaps_temp_atomic = (atomic);                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  138|      1|    glib_typeof (*(atomic)) gaps_temp_newval = (newval);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  139|      1|    (void) (0 ? (gpointer) * (atomic) : NULL);                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (139:13): [Folded, False: 1]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  140|      1|    __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  141|      1|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   24|  8.37k|                if (content_types[i])
  ------------------
  |  Branch (24:21): [True: 7.18k, False: 1.19k]
  ------------------
   25|  7.18k|                        soup_message_headers_set_content_type (soup_message_get_response_headers(msg), content_types[i], NULL);
   26|       |
   27|  8.37k|                char *content_type = soup_content_sniffer_sniff (sniffer, msg, bytes, NULL);
   28|       |
   29|  8.37k|                g_object_unref (msg);
   30|  8.37k|                g_free (content_type);
   31|  8.37k|        }
   32|       |
   33|  1.19k|        g_bytes_unref (bytes);
   34|  1.19k|        g_object_unref (sniffer);
   35|       |
   36|  1.19k|        return 0;
   37|  1.19k|}

soup-content-processor.c:soup_content_processor_default_init:
   27|      1|{
   28|      1|	interface->processing_stage = SOUP_STAGE_INVALID;
   29|      1|	interface->wrap_input = soup_content_processor_real_wrap_input;
   30|      1|}

soup_content_sniffer_sniff:
  813|  8.37k|{
  814|  8.37k|	const char *content_type;
  815|  8.37k|	const char *x_content_type_options;
  816|  8.37k|	char *sniffed_type = NULL;
  817|  8.37k|	gboolean no_sniff = FALSE;
  ------------------
  |  |  929|  8.37k|#define	FALSE	(0)
  ------------------
  818|       |
  819|  8.37k|	content_type = soup_message_headers_get_content_type (soup_message_get_response_headers (msg), params);
  820|       |
  821|       |	/* MIMESNIFF: 7 Determining the sniffed MIME type of a resource. */
  822|       |
  823|  8.37k|	x_content_type_options = soup_message_headers_get_one_common (soup_message_get_response_headers (msg), SOUP_HEADER_X_CONTENT_TYPE_OPTIONS);
  824|  8.37k|	if (!g_strcmp0 (x_content_type_options, "nosniff"))
  ------------------
  |  Branch (824:6): [True: 0, False: 8.37k]
  ------------------
  825|      0|		no_sniff = TRUE;
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  826|       |
  827|       |	/* 1. Unknown/undefined supplied type with sniff-scritable = !nosniff. */
  828|  8.37k|	if ((content_type == NULL) ||
  ------------------
  |  Branch (828:6): [True: 1.19k, False: 7.18k]
  ------------------
  829|  7.18k|	    !g_ascii_strcasecmp (content_type, "unknown/unknown") ||
  ------------------
  |  Branch (829:6): [True: 0, False: 7.18k]
  ------------------
  830|  7.18k|	    !g_ascii_strcasecmp (content_type, "application/unknown") ||
  ------------------
  |  Branch (830:6): [True: 1.19k, False: 5.98k]
  ------------------
  831|  5.98k|	    !g_ascii_strcasecmp (content_type, "*/*"))
  ------------------
  |  Branch (831:6): [True: 0, False: 5.98k]
  ------------------
  832|  2.39k|		return sniff_unknown (sniffer, buffer, !no_sniff);
  833|       |
  834|       |	/* 2. If nosniff is specified in X-Content-Type-Options use the supplied MIME type. */
  835|  5.98k|	if (no_sniff)
  ------------------
  |  Branch (835:6): [True: 0, False: 5.98k]
  ------------------
  836|      0|		return g_strdup (content_type);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  837|       |
  838|       |	/* 3. check-for-apache-bug */
  839|  5.98k|	if ((content_type != NULL) &&
  ------------------
  |  Branch (839:6): [True: 5.98k, False: 0]
  ------------------
  840|  5.98k|	    (g_str_equal (content_type, "text/plain") ||
  ------------------
  |  |  175|  11.9k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 1.19k, False: 4.78k]
  |  |  ------------------
  ------------------
  841|  4.78k|	     g_str_equal (content_type, "text/plain; charset=ISO-8859-1") ||
  ------------------
  |  |  175|  10.7k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.78k]
  |  |  ------------------
  ------------------
  842|  4.78k|	     g_str_equal (content_type, "text/plain; charset=iso-8859-1") ||
  ------------------
  |  |  175|  10.7k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.78k]
  |  |  ------------------
  ------------------
  843|  4.78k|	     g_str_equal (content_type, "text/plain; charset=UTF-8")))
  ------------------
  |  |  175|  4.78k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.78k]
  |  |  ------------------
  ------------------
  844|  1.19k|		return sniff_text_or_binary (sniffer, buffer);
  845|       |
  846|       |	/* 4. XML types sent by the server are always used. */
  847|  4.78k|	if (g_str_has_suffix (content_type, "+xml") ||
  ------------------
  |  |  184|  9.57k|  (__builtin_constant_p (SUFFIX)?                                             \
  |  |  ------------------
  |  |  |  Branch (184:3): [True: 0, False: 4.78k]
  |  |  |  Branch (184:4): [True: 4.78k, Folded]
  |  |  ------------------
  |  |  185|  9.57k|    G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  4.78k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  186|  4.78k|       const char * const __str = (STR);                                      \
  |  |  187|  4.78k|       const char * const __suffix = (SUFFIX);                                \
  |  |  188|  4.78k|       gboolean __result = FALSE;                                             \
  |  |  ------------------
  |  |  |  |  929|  4.78k|#define	FALSE	(0)
  |  |  ------------------
  |  |  189|  4.78k|                                                                              \
  |  |  190|  4.78k|       if G_UNLIKELY (__str == NULL || __suffix == NULL)                      \
  |  |  ------------------
  |  |  |  | 1249|  4.78k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  4.78k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  4.78k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  4.78k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  4.78k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  14.3k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 0, False: 4.78k]
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  4.78k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  4.78k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  4.78k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  4.78k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  4.78k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  4.78k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  4.78k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  4.78k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  4.78k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1249:27): [True: 0, False: 4.78k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  191|  4.78k|         __result = (g_str_has_suffix) (__str, __suffix);                     \
  |  |  192|  4.78k|       else                                                                   \
  |  |  193|  4.78k|         {                                                                    \
  |  |  194|  4.78k|            const size_t __str_len = strlen (_G_STR_NONNULL (__str));         \
  |  |  ------------------
  |  |  |  |  157|  4.78k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  195|  4.78k|            const size_t __suffix_len = strlen (_G_STR_NONNULL (__suffix));   \
  |  |  ------------------
  |  |  |  |  157|  4.78k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  196|  4.78k|            if (__str_len >= __suffix_len)                                    \
  |  |  ------------------
  |  |  |  Branch (196:17): [True: 4.78k, False: 0]
  |  |  ------------------
  |  |  197|  4.78k|              __result = memcmp (__str + __str_len - __suffix_len,            \
  |  |  198|  4.78k|                                 _G_STR_NONNULL (__suffix),                   \
  |  |  ------------------
  |  |  |  |  157|  4.78k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  199|  4.78k|                                 __suffix_len) == 0;                          \
  |  |  200|  4.78k|         }                                                                    \
  |  |  201|  4.78k|         __result;                                                            \
  |  |  202|  4.78k|    })                                                                        \
  |  |  203|  9.57k|  :                                                                           \
  |  |  204|  9.57k|    (g_str_has_suffix) (STR, SUFFIX)                                          \
  |  |  205|  9.57k|  )
  ------------------
  848|  4.78k|	    !g_ascii_strcasecmp (content_type, "text/xml") ||
  ------------------
  |  Branch (848:6): [True: 1.19k, False: 3.59k]
  ------------------
  849|  3.59k|	    !g_ascii_strcasecmp (content_type, "application/xml"))
  ------------------
  |  Branch (849:6): [True: 0, False: 3.59k]
  ------------------
  850|  1.19k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.19k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  851|       |
  852|       |	/* 5. Distinguish feed from HTML. */
  853|  3.59k|	if (!g_ascii_strcasecmp (content_type, "text/html"))
  ------------------
  |  Branch (853:6): [True: 1.19k, False: 2.39k]
  ------------------
  854|  1.19k|		return sniff_feed_or_html (sniffer, buffer);
  855|       |
  856|       |	/* 6. Image types.
  857|       |	 */
  858|  2.39k|	if (!g_ascii_strncasecmp (content_type, "image/", 6)) {
  ------------------
  |  Branch (858:6): [True: 1.19k, False: 1.19k]
  ------------------
  859|  1.19k|		sniffed_type = sniff_images (sniffer, buffer);
  860|  1.19k|		if (sniffed_type != NULL)
  ------------------
  |  Branch (860:7): [True: 15, False: 1.18k]
  ------------------
  861|     15|			return sniffed_type;
  862|  1.18k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.18k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  863|  1.19k|	}
  864|       |
  865|       |	/* 7. Audio and video types. */
  866|  1.19k|	if (!g_ascii_strncasecmp (content_type, "audio/", 6) ||
  ------------------
  |  Branch (866:6): [True: 0, False: 1.19k]
  ------------------
  867|  1.19k|	    !g_ascii_strncasecmp (content_type, "video/", 6) ||
  ------------------
  |  Branch (867:6): [True: 1.19k, False: 0]
  ------------------
  868|  1.19k|	    !g_ascii_strcasecmp (content_type, "application/ogg")) {
  ------------------
  |  Branch (868:6): [True: 0, False: 0]
  ------------------
  869|  1.19k|	        sniffed_type = sniff_audio_video (sniffer, buffer);
  870|  1.19k|	        if (sniffed_type != NULL)
  ------------------
  |  Branch (870:14): [True: 12, False: 1.18k]
  ------------------
  871|     12|		        return sniffed_type;
  872|  1.18k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.18k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  873|  1.19k|        }
  874|       |
  875|       |	/* If we got text/plain, use text_or_binary */
  876|      0|	if (g_str_equal (content_type, "text/plain")) {
  ------------------
  |  |  175|      0|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  877|      0|		return sniff_text_or_binary (sniffer, buffer);
  878|      0|	}
  879|       |
  880|      0|	return g_strdup (content_type);
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  881|      0|}
soup_content_sniffer_new:
  919|  1.19k|{
  920|  1.19k|	return g_object_new (SOUP_TYPE_CONTENT_SNIFFER, NULL);
  ------------------
  |  |   13|  1.19k|#define SOUP_TYPE_CONTENT_SNIFFER (soup_content_sniffer_get_type ())
  ------------------
  921|  1.19k|}
soup-content-sniffer.c:soup_content_sniffer_class_init:
  899|      1|{
  900|      1|}
soup-content-sniffer.c:soup_content_sniffer_init:
   81|  1.19k|{
   82|  1.19k|}
soup-content-sniffer.c:soup_content_sniffer_session_feature_init:
  905|      1|{
  906|      1|	feature_interface->request_queued = soup_content_sniffer_request_queued;
  907|      1|	feature_interface->request_unqueued = soup_content_sniffer_request_unqueued;
  908|      1|}
soup-content-sniffer.c:soup_content_sniffer_content_processor_init:
   71|      1|{
   72|      1|	soup_content_sniffer_default_content_processor_interface =
   73|      1|		g_type_default_interface_peek (SOUP_TYPE_CONTENT_PROCESSOR);
  ------------------
  |  |   12|      1|#define SOUP_TYPE_CONTENT_PROCESSOR (soup_content_processor_get_type ())
  ------------------
   74|       |
   75|      1|	processor_interface->processing_stage = SOUP_STAGE_BODY_DATA;
   76|      1|	processor_interface->wrap_input = soup_content_sniffer_content_processor_wrap_input;
   77|      1|}
soup-content-sniffer.c:sniff_unknown:
  511|  2.95k|{
  512|  2.95k|	char *sniffed_type = NULL;
  513|  2.95k|	gsize resource_length;
  514|  2.95k|	const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  515|  2.95k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  2.95k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 41, False: 2.91k]
  |  |  ------------------
  ------------------
  516|  2.95k|	guint i;
  517|       |
  518|  2.95k|        if (resource_length == 0)
  ------------------
  |  Branch (518:13): [True: 0, False: 2.95k]
  ------------------
  519|      0|                return g_strdup ("text/plain");
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  520|       |
  521|  69.5k|	for (i = 0; i < G_N_ELEMENTS (types_table); i++) {
  ------------------
  |  |  955|  69.5k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (521:14): [True: 66.6k, False: 2.83k]
  ------------------
  522|  66.6k|		SoupContentSnifferPattern *type_row = &(types_table[i]);
  523|       |
  524|  66.6k|		if (!sniff_scriptable && type_row->scriptable)
  ------------------
  |  Branch (524:7): [True: 0, False: 66.6k]
  |  Branch (524:28): [True: 0, False: 0]
  ------------------
  525|      0|			continue;
  526|       |
  527|       |		/* Ensure we have data to sniff - prevents underflow in resource_length - 1 */
  528|  66.6k|		if (resource_length == 0)
  ------------------
  |  Branch (528:7): [True: 0, False: 66.6k]
  ------------------
  529|      0|			continue;
  530|       |
  531|  66.6k|		if (type_row->has_ws) {
  ------------------
  |  Branch (531:7): [True: 52.4k, False: 14.2k]
  ------------------
  532|  52.4k|			guint index_stream = 0;
  533|  52.4k|			guint index_pattern = 0;
  534|  52.4k|			gboolean skip_row = FALSE;
  ------------------
  |  |  929|  52.4k|#define	FALSE	(0)
  ------------------
  535|       |
  536|   219k|			while ((index_stream < resource_length - 1) &&
  ------------------
  |  Branch (536:11): [True: 216k, False: 2.41k]
  ------------------
  537|   216k|			       (index_pattern <= type_row->pattern_length)) {
  ------------------
  |  Branch (537:11): [True: 216k, False: 294]
  ------------------
  538|       |				/* Skip insignificant white space ("WS" in the spec) */
  539|   216k|				if (type_row->pattern[index_pattern] == ' ') {
  ------------------
  |  Branch (539:9): [True: 129k, False: 86.7k]
  ------------------
  540|   129k|					if (resource[index_stream] == '\x09' ||
  ------------------
  |  Branch (540:10): [True: 32.0k, False: 97.8k]
  ------------------
  541|  97.8k|					    resource[index_stream] == '\x0a' ||
  ------------------
  |  Branch (541:10): [True: 24.3k, False: 73.4k]
  ------------------
  542|  73.4k|					    resource[index_stream] == '\x0c' ||
  ------------------
  |  Branch (542:10): [True: 1.02k, False: 72.4k]
  ------------------
  543|  72.4k|					    resource[index_stream] == '\x0d' ||
  ------------------
  |  Branch (543:10): [True: 11.8k, False: 60.5k]
  ------------------
  544|  60.5k|					    resource[index_stream] == '\x20')
  ------------------
  |  Branch (544:10): [True: 10.0k, False: 50.4k]
  ------------------
  545|  79.4k|						index_stream++;
  546|  50.4k|					else
  547|  50.4k|						index_pattern++;
  548|   129k|				} else {
  549|  86.7k|					if ((type_row->mask[index_pattern] & resource[index_stream]) != type_row->pattern[index_pattern]) {
  ------------------
  |  Branch (549:10): [True: 49.7k, False: 37.0k]
  ------------------
  550|  49.7k|						skip_row = TRUE;
  ------------------
  |  |  933|  49.7k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  49.7k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  551|  49.7k|						break;
  552|  49.7k|					}
  553|  37.0k|					index_pattern++;
  554|  37.0k|					index_stream++;
  555|  37.0k|				}
  556|   216k|			}
  557|       |
  558|  52.4k|			if (skip_row)
  ------------------
  |  Branch (558:8): [True: 49.7k, False: 2.70k]
  ------------------
  559|  49.7k|				continue;
  560|       |
  561|  2.70k|			if (index_pattern > type_row->pattern_length) {
  ------------------
  |  Branch (561:8): [True: 401, False: 2.30k]
  ------------------
  562|    401|				if (type_row->has_tag_termination &&
  ------------------
  |  Branch (562:9): [True: 381, False: 20]
  ------------------
  563|    381|				    resource[index_stream] != '\x20' &&
  ------------------
  |  Branch (563:9): [True: 333, False: 48]
  ------------------
  564|    333|				    resource[index_stream] != '\x3E')
  ------------------
  |  Branch (564:9): [True: 301, False: 32]
  ------------------
  565|    301|					continue;
  566|       |
  567|    100|				return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|    100|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  568|    401|			}
  569|  14.2k|		} else {
  570|  14.2k|			guint j;
  571|       |
  572|  14.2k|			if (resource_length < type_row->pattern_length)
  ------------------
  |  Branch (572:8): [True: 3.26k, False: 10.9k]
  ------------------
  573|  3.26k|				continue;
  574|       |
  575|  11.2k|			for (j = 0; j < type_row->pattern_length; j++) {
  ------------------
  |  Branch (575:16): [True: 11.2k, False: 28]
  ------------------
  576|  11.2k|				if ((type_row->mask[j] & resource[j]) != type_row->pattern[j])
  ------------------
  |  Branch (576:9): [True: 10.9k, False: 263]
  ------------------
  577|  10.9k|					break;
  578|  11.2k|			}
  579|       |
  580|       |			/* This means our comparison above matched completely */
  581|  10.9k|			if (j == type_row->pattern_length)
  ------------------
  |  Branch (581:8): [True: 28, False: 10.9k]
  ------------------
  582|     28|				return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     28|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  583|  10.9k|		}
  584|  66.6k|	}
  585|       |
  586|  2.83k|	sniffed_type = sniff_images (sniffer, buffer);
  587|       |
  588|  2.83k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (588:6): [True: 43, False: 2.78k]
  ------------------
  589|     43|		return sniffed_type;
  590|       |
  591|  2.78k|	sniffed_type = sniff_audio_video (sniffer, buffer);
  592|       |
  593|  2.78k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (593:6): [True: 18, False: 2.76k]
  ------------------
  594|     18|		return sniffed_type;
  595|       |
  596|  62.6k|	for (i = 0; i < resource_length; i++) {
  ------------------
  |  Branch (596:14): [True: 61.5k, False: 1.17k]
  ------------------
  597|  61.5k|		if (byte_looks_binary[resource[i]])
  ------------------
  |  Branch (597:7): [True: 1.59k, False: 59.9k]
  ------------------
  598|  1.59k|			return g_strdup ("application/octet-stream");
  ------------------
  |  |  324|  1.59k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  599|  61.5k|	}
  600|       |
  601|  1.17k|	return g_strdup ("text/plain");
  ------------------
  |  |  324|  1.17k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  602|  2.76k|}
soup-content-sniffer.c:sniff_text_or_binary:
  607|  1.19k|{
  608|  1.19k|	gsize resource_length;
  609|  1.19k|	const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  610|  1.19k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  1.19k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 15, False: 1.18k]
  |  |  ------------------
  ------------------
  611|  1.19k|	gboolean looks_binary = FALSE;
  ------------------
  |  |  929|  1.19k|#define	FALSE	(0)
  ------------------
  612|  1.19k|	int i;
  613|       |
  614|       |	/* 2. Detecting UTF-16BE, UTF-16LE BOMs means it's text/plain */
  615|  1.19k|	if (resource_length >= 2) {
  ------------------
  |  Branch (615:6): [True: 1.19k, False: 3]
  ------------------
  616|  1.19k|		if ((resource[0] == 0xFE && resource[1] == 0xFF) ||
  ------------------
  |  Branch (616:8): [True: 23, False: 1.17k]
  |  Branch (616:31): [True: 4, False: 19]
  ------------------
  617|  1.19k|		    (resource[0] == 0xFF && resource[1] == 0xFE))
  ------------------
  |  Branch (617:8): [True: 29, False: 1.16k]
  |  Branch (617:31): [True: 2, False: 27]
  ------------------
  618|      6|			return g_strdup ("text/plain");
  ------------------
  |  |  324|      6|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  619|  1.19k|	}
  620|       |
  621|       |	/* 3. UTF-8 BOM. */
  622|  1.19k|	if (resource_length >= 3) {
  ------------------
  |  Branch (622:6): [True: 1.11k, False: 74]
  ------------------
  623|  1.11k|		if (resource[0] == 0xEF && resource[1] == 0xBB && resource[2] == 0xBF)
  ------------------
  |  Branch (623:7): [True: 37, False: 1.08k]
  |  Branch (623:30): [True: 22, False: 15]
  |  Branch (623:53): [True: 9, False: 13]
  ------------------
  624|      9|			return g_strdup ("text/plain");
  ------------------
  |  |  324|      9|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  625|  1.11k|	}
  626|       |
  627|       |	/* 4. Look to see if any of the first n bytes looks binary */
  628|  28.3k|	for (i = 0; i < resource_length; i++) {
  ------------------
  |  Branch (628:14): [True: 27.7k, False: 618]
  ------------------
  629|  27.7k|		if (byte_looks_binary[resource[i]]) {
  ------------------
  |  Branch (629:7): [True: 564, False: 27.1k]
  ------------------
  630|    564|			looks_binary = TRUE;
  ------------------
  |  |  933|    564|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    564|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  631|    564|			break;
  632|    564|		}
  633|  27.7k|	}
  634|       |
  635|  1.18k|	if (!looks_binary)
  ------------------
  |  Branch (635:6): [True: 618, False: 564]
  ------------------
  636|    618|		return g_strdup ("text/plain");
  ------------------
  |  |  324|    618|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  637|       |
  638|       |	/* 5. Execute 7.1 Identifying a resource with an unknown MIME type.
  639|       |	 * TODO: sniff-scriptable needs to be unset.
  640|       |	 */
  641|    564|	return sniff_unknown (sniffer, buffer, TRUE);
  ------------------
  |  |  933|    564|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    564|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  642|  1.18k|}
soup-content-sniffer.c:sniff_feed_or_html:
  665|  1.19k|{
  666|  1.19k|	gsize resource_length;
  667|  1.19k|	const char *resource = g_bytes_get_data (buffer, &resource_length);
  668|  1.19k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  1.19k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 15, False: 1.18k]
  |  |  ------------------
  ------------------
  669|  1.19k|	gsize pos = 0;
  670|       |
  671|  1.19k|	if (resource_length < 3)
  ------------------
  |  Branch (671:6): [True: 76, False: 1.12k]
  ------------------
  672|     76|		goto text_html;
  673|       |
  674|       |	/* Skip a leading UTF-8 BOM */
  675|  1.12k|	if ((guchar)resource[0] == 0xEF && (guchar)resource[1] == 0xBB && (guchar)resource[2] == 0xBF)
  ------------------
  |  Branch (675:6): [True: 37, False: 1.08k]
  |  Branch (675:37): [True: 22, False: 15]
  |  Branch (675:68): [True: 9, False: 13]
  ------------------
  676|      9|		pos = 3;
  677|       |
  678|  2.31k| look_for_tag:
  679|  2.31k|	if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (679:6): [True: 47, False: 2.26k]
  ------------------
  680|     47|		goto text_html;
  681|       |
  682|  2.26k|	if (resource[pos] != '<')
  ------------------
  |  Branch (682:6): [True: 310, False: 1.95k]
  ------------------
  683|    310|		return g_strdup ("text/html");
  ------------------
  |  |  324|    310|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  684|       |
  685|  1.95k|	pos++;
  686|       |
  687|  1.95k|	if ((pos + 2) > resource_length)
  ------------------
  |  Branch (687:6): [True: 13, False: 1.94k]
  ------------------
  688|     13|		goto text_html;
  689|       |
  690|       |	/* Skip comments. */
  691|  1.94k|	if (data_has_prefix (resource + pos, "!--", resource_length - pos)) {
  ------------------
  |  Branch (691:6): [True: 238, False: 1.70k]
  ------------------
  692|    238|		pos = pos + 3;
  693|       |
  694|    238|		if ((pos + 2) > resource_length)
  ------------------
  |  Branch (694:7): [True: 10, False: 228]
  ------------------
  695|     10|			goto text_html;
  696|       |
  697|  4.41k|		while (!data_has_prefix (resource + pos, "-->", resource_length - pos)) {
  ------------------
  |  Branch (697:10): [True: 4.24k, False: 171]
  ------------------
  698|  4.24k|			pos++;
  699|       |
  700|  4.24k|			if ((pos + 2) > resource_length)
  ------------------
  |  Branch (700:8): [True: 57, False: 4.19k]
  ------------------
  701|     57|				goto text_html;
  702|  4.24k|		}
  703|       |
  704|    171|		pos = pos + 3;
  705|       |
  706|    171|		goto look_for_tag;
  707|    228|	}
  708|       |
  709|  1.70k|	if (pos > resource_length)
  ------------------
  |  Branch (709:6): [True: 0, False: 1.70k]
  ------------------
  710|      0|		goto text_html;
  711|       |
  712|  1.70k|	if (resource[pos] == '!') {
  ------------------
  |  Branch (712:6): [True: 767, False: 938]
  ------------------
  713|  12.4k|		do {
  714|  12.4k|			pos++;
  715|       |
  716|  12.4k|			if ((pos + 1) > resource_length)
  ------------------
  |  Branch (716:8): [True: 56, False: 12.4k]
  ------------------
  717|     56|				goto text_html;
  718|  12.4k|		} while (resource[pos] != '>');
  ------------------
  |  Branch (718:12): [True: 11.7k, False: 711]
  ------------------
  719|       |
  720|    711|		pos++;
  721|       |
  722|    711|		goto look_for_tag;
  723|    938|	} else if (resource[pos] == '?') {
  ------------------
  |  Branch (723:13): [True: 369, False: 569]
  ------------------
  724|  3.57k|		do {
  725|  3.57k|			pos++;
  726|       |
  727|  3.57k|			if ((pos + 1) > resource_length)
  ------------------
  |  Branch (727:8): [True: 59, False: 3.51k]
  ------------------
  728|     59|				goto text_html;
  729|  3.57k|		} while (!data_has_prefix (resource + pos, "?>", resource_length - pos));
  ------------------
  |  Branch (729:12): [True: 3.20k, False: 310]
  ------------------
  730|       |
  731|    310|		pos = pos + 2;
  732|       |
  733|    310|		goto look_for_tag;
  734|    369|	}
  735|       |
  736|    569|	if ((pos + 3) > resource_length)
  ------------------
  |  Branch (736:6): [True: 53, False: 516]
  ------------------
  737|     53|		goto text_html;
  738|       |
  739|    516|	if (data_has_prefix (resource + pos, "rss", resource_length - pos))
  ------------------
  |  Branch (739:6): [True: 1, False: 515]
  ------------------
  740|      1|		return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  741|       |
  742|    515|	if ((pos + 4) > resource_length)
  ------------------
  |  Branch (742:6): [True: 90, False: 425]
  ------------------
  743|     90|		goto text_html;
  744|       |
  745|    425|	if (data_has_prefix (resource + pos, "feed", resource_length - pos))
  ------------------
  |  Branch (745:6): [True: 1, False: 424]
  ------------------
  746|      1|		return g_strdup ("application/atom+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  747|       |
  748|    424|	if ((pos + 7) > resource_length)
  ------------------
  |  Branch (748:6): [True: 27, False: 397]
  ------------------
  749|     27|		goto text_html;
  750|       |
  751|    397|	if (data_has_prefix (resource + pos, "rdf:RDF", resource_length - pos)) {
  ------------------
  |  Branch (751:6): [True: 348, False: 49]
  ------------------
  752|    348|		pos = pos + 7;
  753|       |
  754|    348|		if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (754:7): [True: 29, False: 319]
  ------------------
  755|     29|			goto text_html;
  756|       |
  757|    319|		if ((pos + 32) > resource_length)
  ------------------
  |  Branch (757:7): [True: 54, False: 265]
  ------------------
  758|     54|			goto text_html;
  759|       |
  760|    265|		if (data_has_prefix (resource + pos, "xmlns=\"http://purl.org/rss/1.0/\"", resource_length - pos)) {
  ------------------
  |  Branch (760:7): [True: 90, False: 175]
  ------------------
  761|     90|			pos = pos + 32;
  762|       |
  763|     90|			if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (763:8): [True: 32, False: 58]
  ------------------
  764|     32|				goto text_html;
  765|       |
  766|     58|			if ((pos + 55) > resource_length)
  ------------------
  |  Branch (766:8): [True: 54, False: 4]
  ------------------
  767|     54|				goto text_html;
  768|       |
  769|      4|			if (data_has_prefix (resource + pos, "xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"", resource_length - pos))
  ------------------
  |  Branch (769:8): [True: 1, False: 3]
  ------------------
  770|      1|				return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  771|      4|		}
  772|       |
  773|    178|		if ((pos + 55) > resource_length)
  ------------------
  |  Branch (773:7): [True: 89, False: 89]
  ------------------
  774|     89|			goto text_html;
  775|       |
  776|     89|		if (data_has_prefix (resource + pos, "xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"", resource_length - pos)) {
  ------------------
  |  Branch (776:7): [True: 81, False: 8]
  ------------------
  777|     81|			pos = pos + 55;
  778|       |
  779|     81|			if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (779:8): [True: 30, False: 51]
  ------------------
  780|     30|				goto text_html;
  781|       |
  782|     51|			if ((pos + 32) > resource_length)
  ------------------
  |  Branch (782:8): [True: 45, False: 6]
  ------------------
  783|     45|				goto text_html;
  784|       |
  785|      6|			if (data_has_prefix (resource + pos, "xmlns=\"http://purl.org/rss/1.0/\"", resource_length - pos))
  ------------------
  |  Branch (785:8): [True: 2, False: 4]
  ------------------
  786|      2|				return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      2|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  787|      6|		}
  788|     89|	}
  789|       |
  790|    882| text_html:
  791|    882|	return g_strdup ("text/html");
  ------------------
  |  |  324|    882|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  792|    397|}
soup-content-sniffer.c:skip_insignificant_space:
  646|  2.83k|{
  647|  2.83k|        if (*pos >= resource_length)
  ------------------
  |  Branch (647:13): [True: 30, False: 2.80k]
  ------------------
  648|     30|	        return TRUE;
  ------------------
  |  |  933|     30|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|     30|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  649|       |
  650|  8.48k|	while ((resource[*pos] == '\x09') ||
  ------------------
  |  Branch (650:9): [True: 1.62k, False: 6.85k]
  ------------------
  651|  6.85k|	       (resource[*pos] == '\x20') ||
  ------------------
  |  Branch (651:9): [True: 1.11k, False: 5.73k]
  ------------------
  652|  5.73k|	       (resource[*pos] == '\x0A') ||
  ------------------
  |  Branch (652:9): [True: 1.47k, False: 4.26k]
  ------------------
  653|  5.78k|	       (resource[*pos] == '\x0D')) {
  ------------------
  |  Branch (653:9): [True: 1.56k, False: 2.69k]
  ------------------
  654|  5.78k|		*pos = *pos + 1;
  655|       |
  656|  5.78k|		if (*pos >= resource_length)
  ------------------
  |  Branch (656:7): [True: 108, False: 5.67k]
  ------------------
  657|    108|			return TRUE;
  ------------------
  |  |  933|    108|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    108|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  658|  5.78k|	}
  659|       |
  660|  2.69k|	return FALSE;
  ------------------
  |  |  929|  2.69k|#define	FALSE	(0)
  ------------------
  661|  2.80k|}
soup-content-sniffer.c:data_has_prefix:
  233|  14.8k|{
  234|  14.8k|        if (strlen (prefix) > max_length)
  ------------------
  |  Branch (234:13): [True: 180, False: 14.6k]
  ------------------
  235|    180|                return FALSE;
  ------------------
  |  |  929|    180|#define	FALSE	(0)
  ------------------
  236|       |
  237|  14.6k|        return memcmp (data, prefix, strlen (prefix)) == 0;
  238|  14.8k|}
soup-content-sniffer.c:sniff_images:
  178|  4.02k|{
  179|  4.02k|	return sniff_media (sniffer,
  180|  4.02k|			    buffer,
  181|  4.02k|			    image_types_table,
  182|  4.02k|			    G_N_ELEMENTS (image_types_table));
  ------------------
  |  |  955|  4.02k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  183|  4.02k|}
soup-content-sniffer.c:sniff_media:
   96|  8.01k|{
   97|       |
   98|  8.01k|        gsize resource_length;
   99|  8.01k|        const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  100|  8.01k|        resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  8.01k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 101, False: 7.91k]
  |  |  ------------------
  ------------------
  101|  8.01k|	int i;
  102|       |
  103|  71.5k|	for (i = 0; i < table_length; i++) {
  ------------------
  |  Branch (103:14): [True: 63.6k, False: 7.94k]
  ------------------
  104|  63.6k|		SoupContentSnifferMediaPattern *type_row = &(table[i]);
  105|  63.6k|		guint j;
  106|       |
  107|  63.6k|		if (resource_length < type_row->pattern_length)
  ------------------
  |  Branch (107:7): [True: 16.5k, False: 47.0k]
  ------------------
  108|  16.5k|			continue;
  109|       |
  110|  49.8k|		for (j = 0; j < type_row->pattern_length; j++) {
  ------------------
  |  Branch (110:15): [True: 49.7k, False: 71]
  ------------------
  111|  49.7k|			if ((type_row->mask[j] & resource[j]) != type_row->pattern[j])
  ------------------
  |  Branch (111:8): [True: 47.0k, False: 2.72k]
  ------------------
  112|  47.0k|				break;
  113|  49.7k|		}
  114|       |
  115|       |		/* This means our comparison above matched completely */
  116|  47.0k|		if (j == type_row->pattern_length)
  ------------------
  |  Branch (116:7): [True: 71, False: 47.0k]
  ------------------
  117|     71|			return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     71|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  118|  47.0k|	}
  119|       |
  120|  7.94k|	return NULL;
  121|  8.01k|}
soup-content-sniffer.c:sniff_audio_video:
  280|  3.98k|{
  281|  3.98k|	char *sniffed_type;
  282|       |
  283|  3.98k|	sniffed_type = sniff_media (sniffer,
  284|  3.98k|				    buffer,
  285|  3.98k|				    audio_video_types_table,
  286|  3.98k|				    G_N_ELEMENTS (audio_video_types_table));
  ------------------
  |  |  955|  3.98k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  287|       |
  288|  3.98k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (288:6): [True: 13, False: 3.97k]
  ------------------
  289|     13|		return sniffed_type;
  290|       |
  291|  3.97k|	if (sniff_mp4 (sniffer, buffer))
  ------------------
  |  Branch (291:6): [True: 17, False: 3.95k]
  ------------------
  292|     17|		return g_strdup ("video/mp4");
  ------------------
  |  |  324|     17|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  293|       |
  294|  3.95k|	return NULL;
  295|  3.97k|}
soup-content-sniffer.c:sniff_mp4:
  242|  3.97k|{
  243|  3.97k|	gsize resource_length;
  244|  3.97k|	const char *resource = g_bytes_get_data (buffer, &resource_length);
  245|  3.97k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  3.97k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 49, False: 3.92k]
  |  |  ------------------
  ------------------
  246|  3.97k|	guint32 box_size;
  247|  3.97k|	guint i;
  248|       |
  249|  3.97k|        if (resource_length < sizeof (guint32))
  ------------------
  |  Branch (249:13): [True: 643, False: 3.32k]
  ------------------
  250|    643|                return FALSE;
  ------------------
  |  |  929|    643|#define	FALSE	(0)
  ------------------
  251|       |
  252|  3.32k|	box_size = *((guint32*)resource);
  253|       |
  254|  3.32k|#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
  255|  3.32k|	box_size = ((box_size >> 24) |
  256|  3.32k|		    ((box_size << 8) & 0x00FF0000) |
  257|  3.32k|		    ((box_size >> 8) & 0x0000FF00) |
  258|  3.32k|		    (box_size << 24));
  259|  3.32k|#endif
  260|       |
  261|  3.32k|	if (resource_length < 12 || resource_length < box_size || box_size % 4 != 0)
  ------------------
  |  Branch (261:6): [True: 1.10k, False: 2.22k]
  |  Branch (261:30): [True: 1.68k, False: 540]
  |  Branch (261:60): [True: 16, False: 524]
  ------------------
  262|  2.80k|		return FALSE;
  ------------------
  |  |  929|  2.80k|#define	FALSE	(0)
  ------------------
  263|       |
  264|    524|	if (!data_has_prefix (resource + 4, "ftyp", resource_length - 4))
  ------------------
  |  Branch (264:6): [True: 93, False: 431]
  ------------------
  265|     93|		return FALSE;
  ------------------
  |  |  929|     93|#define	FALSE	(0)
  ------------------
  266|       |
  267|    431|	if (!data_has_prefix (resource + 8, "mp4", resource_length - 8))
  ------------------
  |  Branch (267:6): [True: 157, False: 274]
  ------------------
  268|    157|		return FALSE;
  ------------------
  |  |  929|    157|#define	FALSE	(0)
  ------------------
  269|       |
  270|  2.56k|	for (i = 16; i < box_size && i < resource_length; i = i + 4) {
  ------------------
  |  Branch (270:15): [True: 2.30k, False: 257]
  |  Branch (270:31): [True: 2.30k, False: 0]
  ------------------
  271|  2.30k|		if (data_has_prefix (resource + i, "mp4", resource_length - i))
  ------------------
  |  Branch (271:7): [True: 17, False: 2.28k]
  ------------------
  272|     17|			return TRUE;
  ------------------
  |  |  933|     17|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|     17|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  273|  2.30k|	}
  274|       |
  275|    257|	return FALSE;
  ------------------
  |  |  929|    257|#define	FALSE	(0)
  ------------------
  276|    274|}

soup_message_headers_new:
   76|  16.7k|{
   77|  16.7k|	SoupMessageHeaders *hdrs;
   78|       |
   79|  16.7k|	hdrs = g_atomic_rc_box_new0 (SoupMessageHeaders);
  ------------------
  |  |   75|  16.7k|  ((type *) g_atomic_rc_box_alloc0 (sizeof (type)))
  ------------------
   80|  16.7k|	hdrs->type = type;
   81|  16.7k|	hdrs->encoding = -1;
   82|       |
   83|  16.7k|	return hdrs;
   84|  16.7k|}
soup_message_headers_unref:
  125|  16.7k|{
  126|  16.7k|        g_atomic_rc_box_release_full (hdrs, (GDestroyNotify)soup_message_headers_destroy);
  127|  16.7k|}
soup_message_headers_clear:
  194|  16.7k|{
  195|  16.7k|	guint i;
  196|       |
  197|  16.7k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  16.7k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  16.7k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  16.7k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  16.7k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  16.7k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  16.7k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  16.7k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  16.7k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  16.7k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 16.7k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  16.7k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  16.7k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  16.7k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  16.7k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  16.7k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  16.7k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  16.7k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  16.7k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  16.7k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 16.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  16.7k|      { } \
  |  |  653|  16.7k|    else \
  |  |  654|  16.7k|      { \
  |  |  655|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  656|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  657|      0|                                  #expr); \
  |  |  658|      0|        return; \
  |  |  659|      0|      } \
  |  |  660|  16.7k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  16.7k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|       |
  199|  16.7k|        if (hdrs->common_headers) {
  ------------------
  |  Branch (199:13): [True: 7.18k, False: 9.57k]
  ------------------
  200|  7.18k|                SoupCommonHeader *hdr_array_common = (SoupCommonHeader *)hdrs->common_headers->data;
  201|       |
  202|  14.3k|                for (i = 0; i < hdrs->common_headers->len; i++) {
  ------------------
  |  Branch (202:29): [True: 7.18k, False: 7.18k]
  ------------------
  203|  7.18k|                        g_free (hdr_array_common[i].value);
  204|  7.18k|                        soup_message_headers_set (hdrs, hdr_array_common[i].name, NULL);
  205|  7.18k|                }
  206|  7.18k|                g_array_set_size (hdrs->common_headers, 0);
  207|  7.18k|        }
  208|       |
  209|  16.7k|        if (hdrs->common_concat)
  ------------------
  |  Branch (209:13): [True: 0, False: 16.7k]
  ------------------
  210|      0|                g_hash_table_remove_all (hdrs->common_concat);
  211|       |
  212|  16.7k|        if (hdrs->uncommon_headers) {
  ------------------
  |  Branch (212:13): [True: 0, False: 16.7k]
  ------------------
  213|      0|                SoupUncommonHeader *hdr_array = (SoupUncommonHeader *)hdrs->uncommon_headers->data;
  214|       |
  215|      0|                for (i = 0; i < hdrs->uncommon_headers->len; i++) {
  ------------------
  |  Branch (215:29): [True: 0, False: 0]
  ------------------
  216|      0|                        g_free (hdr_array[i].name);
  217|      0|                        g_free (hdr_array[i].value);
  218|      0|                }
  219|      0|                g_array_set_size (hdrs->uncommon_headers, 0);
  220|      0|        }
  221|       |
  222|  16.7k|	if (hdrs->uncommon_concat)
  ------------------
  |  Branch (222:6): [True: 0, False: 16.7k]
  ------------------
  223|      0|		g_hash_table_remove_all (hdrs->uncommon_concat);
  224|       |
  225|  16.7k|        hdrs->encoding = -1;
  226|  16.7k|        hdrs->content_length = 0;
  227|  16.7k|        hdrs->expectations = 0;
  228|       |        g_clear_pointer (&hdrs->content_type, g_free);
  ------------------
  |  |  136|  16.7k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  16.7k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  16.7k|  {                                                      \
  |  |  138|  16.7k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  16.7k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  16.7k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  16.7k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  16.7k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  16.7k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  16.7k|    *_pp = NULL;                                         \
  |  |  142|  16.7k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 16.7k]
  |  |  ------------------
  |  |  143|  16.7k|      (destroy) (_ptr);                                  \
  |  |  144|  16.7k|  }                                                      \
  |  |  145|  16.7k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  16.7k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  16.7k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  229|  16.7k|}
soup_message_headers_append_common:
  271|  7.18k|{
  272|  7.18k|        SoupCommonHeader header;
  273|       |
  274|       |        /* RFC 9112 - 3.2. Request Target
  275|       |         * A server MUST respond with a 400 (Bad Request) status code to any
  276|       |         * HTTP/1.1 request message that lacks a Host header field and to any
  277|       |         * request message that contains more than one Host header field line or a
  278|       |         * Host header field with an invalid field value.
  279|       |         */
  280|  7.18k|        if (hdrs->type == SOUP_MESSAGE_HEADERS_REQUEST && name == SOUP_HEADER_HOST && soup_message_headers_get_one (hdrs, "Host")) {
  ------------------
  |  Branch (280:13): [True: 0, False: 7.18k]
  |  Branch (280:59): [True: 0, False: 0]
  |  Branch (280:87): [True: 0, False: 0]
  ------------------
  281|      0|                g_warning ("soup_message_headers_append_common: Rejecting duplicate Host header");
  ------------------
  |  |  362|      0|#define g_warning(...)  g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_WARNING,  \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  282|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  283|      0|        }
  284|       |
  285|  7.18k|        if (name == SOUP_HEADER_CONTENT_LENGTH) {
  ------------------
  |  Branch (285:13): [True: 0, False: 7.18k]
  ------------------
  286|       |                /* RFC 9110 - 7.7. Content-Length
  287|       |                 * If a message is received that has a Content-Length header field value consisting of
  288|       |                 * the same decimal value as a comma-separated list (Section 5.7.1) — for example,
  289|       |                 * "Content-Length: 42, 42" — indicating that duplicate Content-Length header fields have
  290|       |                 * been generated or combined by an upstream message processor, then the recipient must either
  291|       |                 * reject the message as invalid or replace the duplicated field values with a single valid
  292|       |                 * Content-Length field containing that decimal value prior to determining the message body
  293|       |                 * length or forwarding the message.
  294|       |                 */
  295|      0|                const char *content_length = soup_message_headers_get_one_common (hdrs, SOUP_HEADER_CONTENT_LENGTH);
  296|      0|                if (content_length) {
  ------------------
  |  Branch (296:21): [True: 0, False: 0]
  ------------------
  297|      0|                        guint64 decimal_value1, decimal_value2;
  298|      0|                        char *end;
  299|       |
  300|      0|                        errno = 0;
  301|      0|                        decimal_value1 = g_ascii_strtoull (content_length, &end, 10);
  302|      0|                        if (*end || errno == ERANGE)
  ------------------
  |  Branch (302:29): [True: 0, False: 0]
  |  Branch (302:37): [True: 0, False: 0]
  ------------------
  303|      0|                                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  304|       |
  305|      0|                        errno = 0;
  306|      0|                        decimal_value2 = g_ascii_strtoull (value, &end, 10);
  307|      0|                        if (*end || errno == ERANGE)
  ------------------
  |  Branch (307:29): [True: 0, False: 0]
  |  Branch (307:37): [True: 0, False: 0]
  ------------------
  308|      0|                                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  309|       |
  310|      0|                        return decimal_value1 == decimal_value2;
  311|      0|                }
  312|      0|        }
  313|       |
  314|  7.18k|        if (trusted_value == SOUP_HEADER_VALUE_UNTRUSTED && !is_valid_header_value (value)) {
  ------------------
  |  Branch (314:13): [True: 7.18k, False: 0]
  |  Branch (314:61): [True: 0, False: 7.18k]
  ------------------
  315|      0|                g_warning ("soup_message_headers_append: Rejecting bad value '%s'", value);
  ------------------
  |  |  362|      0|#define g_warning(...)  g_log (G_LOG_DOMAIN,         \
  |  |  363|      0|                               G_LOG_LEVEL_WARNING,  \
  |  |  364|      0|                               __VA_ARGS__)
  ------------------
  316|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  317|      0|        }
  318|       |
  319|  7.18k|        if (!hdrs->common_headers)
  ------------------
  |  Branch (319:13): [True: 7.18k, False: 0]
  ------------------
  320|  7.18k|                hdrs->common_headers = g_array_sized_new (FALSE, FALSE, sizeof (SoupCommonHeader), 6);
  ------------------
  |  |  929|  7.18k|#define	FALSE	(0)
  ------------------
                              hdrs->common_headers = g_array_sized_new (FALSE, FALSE, sizeof (SoupCommonHeader), 6);
  ------------------
  |  |  929|  7.18k|#define	FALSE	(0)
  ------------------
  321|       |
  322|  7.18k|        header.name = name;
  323|  7.18k|        header.value = g_strdup (value);
  ------------------
  |  |  324|  7.18k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  324|  7.18k|        g_array_append_val (hdrs->common_headers, header);
  ------------------
  |  |   66|  7.18k|#define g_array_append_val(a,v)	  g_array_append_vals (a, &(v), 1)
  ------------------
  325|  7.18k|        if (hdrs->common_concat)
  ------------------
  |  Branch (325:13): [True: 0, False: 7.18k]
  ------------------
  326|      0|                g_hash_table_remove (hdrs->common_concat, GUINT_TO_POINTER (header.name));
  327|       |
  328|  7.18k|        soup_message_headers_set (hdrs, name, value);
  329|  7.18k|        return TRUE;
  ------------------
  |  |  933|  7.18k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.18k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  330|  7.18k|}
soup_message_headers_replace_common:
  414|  7.18k|{
  415|  7.18k|        soup_message_headers_remove_common (hdrs, name);
  416|  7.18k|        soup_message_headers_append_common (hdrs, name, value, trusted_value);
  417|  7.18k|}
soup_message_headers_remove_common:
  513|  7.18k|{
  514|  7.18k|        int index;
  515|       |
  516|  7.18k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  7.18k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.18k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  7.18k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  7.18k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.18k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.18k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.18k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.18k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.18k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.18k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.18k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.18k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.18k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.18k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.18k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  7.18k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.18k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.18k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.18k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7.18k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  7.18k|      { } \
  |  |  653|  7.18k|    else \
  |  |  654|  7.18k|      { \
  |  |  655|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  656|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  657|      0|                                  #expr); \
  |  |  658|      0|        return; \
  |  |  659|      0|      } \
  |  |  660|  7.18k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.18k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.18k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  517|       |
  518|  7.18k|        if (hdrs->common_headers) {
  ------------------
  |  Branch (518:13): [True: 0, False: 7.18k]
  ------------------
  519|      0|                while ((index = find_common_header (hdrs->common_headers, name, 0)) != -1) {
  ------------------
  |  Branch (519:24): [True: 0, False: 0]
  ------------------
  520|      0|#ifndef __clang_analyzer__ /* False positive for double-free */
  521|      0|                        SoupCommonHeader *hdr_array = (SoupCommonHeader *)hdrs->common_headers->data;
  522|       |
  523|      0|                        g_free (hdr_array[index].value);
  524|      0|#endif
  525|      0|                        g_array_remove_index (hdrs->common_headers, index);
  526|      0|                }
  527|      0|        }
  528|       |
  529|  7.18k|        if (hdrs->common_concat)
  ------------------
  |  Branch (529:13): [True: 0, False: 7.18k]
  ------------------
  530|      0|                g_hash_table_remove (hdrs->common_concat, GUINT_TO_POINTER (name));
  531|       |
  532|       |        soup_message_headers_set (hdrs, name, NULL);
  533|  7.18k|}
soup_message_headers_get_one_common:
  578|  15.5k|{
  579|  15.5k|        SoupCommonHeader *hdr_array;
  580|  15.5k|        int index;
  581|       |
  582|  15.5k|        if (!hdrs->common_headers)
  ------------------
  |  Branch (582:13): [True: 1.19k, False: 14.3k]
  ------------------
  583|  1.19k|                return NULL;
  584|       |
  585|  14.3k|        hdr_array = (SoupCommonHeader *)hdrs->common_headers->data;
  586|  14.3k|        index = find_last_common_header (hdrs->common_headers, name, 0);
  587|       |
  588|  14.3k|        return index == -1 ? NULL : hdr_array[index].value;
  ------------------
  |  Branch (588:16): [True: 7.18k, False: 7.18k]
  ------------------
  589|  15.5k|}
soup_message_headers_get_content_type:
 1726|  8.37k|{
 1727|  8.37k|	g_return_val_if_fail (hdrs, NULL);
  ------------------
  |  |  663|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.37k|      { } \
  |  |  666|  8.37k|    else \
  |  |  667|  8.37k|      { \
  |  |  668|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  669|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  670|      0|                                  #expr); \
  |  |  671|      0|        return (val); \
  |  |  672|      0|      } \
  |  |  673|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1728|       |
 1729|  8.37k|	if (!hdrs->content_type)
  ------------------
  |  Branch (1729:6): [True: 1.19k, False: 7.18k]
  ------------------
 1730|  1.19k|		return NULL;
 1731|       |
 1732|  7.18k|	if (params)
  ------------------
  |  Branch (1732:6): [True: 0, False: 7.18k]
  ------------------
 1733|      0|		parse_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, NULL, params);
 1734|  7.18k|	return hdrs->content_type;
 1735|  8.37k|}
soup_message_headers_set_content_type:
 1751|  7.18k|{
 1752|  7.18k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  7.18k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.18k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  7.18k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  7.18k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.18k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.18k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.18k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.18k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.18k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.18k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.18k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.18k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.18k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.18k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.18k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  7.18k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.18k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.18k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.18k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7.18k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  7.18k|      { } \
  |  |  653|  7.18k|    else \
  |  |  654|  7.18k|      { \
  |  |  655|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  656|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  657|      0|                                  #expr); \
  |  |  658|      0|        return; \
  |  |  659|      0|      } \
  |  |  660|  7.18k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.18k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.18k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1753|       |
 1754|  7.18k|	set_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, content_type, params);
 1755|  7.18k|}
soup-message-headers.c:soup_message_headers_destroy:
  104|  16.7k|{
  105|  16.7k|        soup_message_headers_clear (hdrs);
  106|  16.7k|        if (hdrs->common_headers)
  ------------------
  |  Branch (106:13): [True: 7.18k, False: 9.57k]
  ------------------
  107|  7.18k|                g_array_free (hdrs->common_headers, TRUE);
  ------------------
  |  |  933|  7.18k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.18k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  108|  16.7k|        g_clear_pointer (&hdrs->common_concat, g_hash_table_destroy);
  ------------------
  |  |  136|  16.7k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  16.7k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  16.7k|  {                                                      \
  |  |  138|  16.7k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  16.7k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  16.7k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  16.7k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  16.7k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  16.7k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  16.7k|    *_pp = NULL;                                         \
  |  |  142|  16.7k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 16.7k]
  |  |  ------------------
  |  |  143|  16.7k|      (destroy) (_ptr);                                  \
  |  |  144|  16.7k|  }                                                      \
  |  |  145|  16.7k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  16.7k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  16.7k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  109|  16.7k|        if (hdrs->uncommon_headers)
  ------------------
  |  Branch (109:13): [True: 0, False: 16.7k]
  ------------------
  110|      0|                g_array_free (hdrs->uncommon_headers, TRUE);
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  111|       |        g_clear_pointer (&hdrs->uncommon_concat, g_hash_table_destroy);
  ------------------
  |  |  136|  16.7k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  16.7k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  16.7k|  {                                                      \
  |  |  138|  16.7k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  16.7k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  16.7k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  16.7k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  16.7k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  16.7k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  16.7k|    *_pp = NULL;                                         \
  |  |  142|  16.7k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 16.7k]
  |  |  ------------------
  |  |  143|  16.7k|      (destroy) (_ptr);                                  \
  |  |  144|  16.7k|  }                                                      \
  |  |  145|  16.7k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  16.7k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  16.7k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  112|  16.7k|}
soup-message-headers.c:soup_message_headers_set:
  151|  21.5k|{
  152|  21.5k|        switch (name) {
  153|      0|        case SOUP_HEADER_CONTENT_LENGTH:
  ------------------
  |  Branch (153:9): [True: 0, False: 21.5k]
  ------------------
  154|      0|        case SOUP_HEADER_TRANSFER_ENCODING:
  ------------------
  |  Branch (154:9): [True: 0, False: 21.5k]
  ------------------
  155|      0|                hdrs->encoding = -1;
  156|      0|                break;
  157|  21.5k|        case SOUP_HEADER_CONTENT_TYPE:
  ------------------
  |  Branch (157:9): [True: 21.5k, False: 0]
  ------------------
  158|  21.5k|                g_clear_pointer (&hdrs->content_type, g_free);
  ------------------
  |  |  136|  21.5k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  21.5k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  21.5k|  {                                                      \
  |  |  138|  21.5k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  21.5k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  21.5k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  21.5k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  21.5k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  21.5k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  21.5k|    *_pp = NULL;                                         \
  |  |  142|  21.5k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 7.18k, False: 14.3k]
  |  |  ------------------
  |  |  143|  21.5k|      (destroy) (_ptr);                                  \
  |  |  144|  21.5k|  }                                                      \
  |  |  145|  21.5k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  21.5k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 21.5k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  21.5k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  159|  21.5k|                if (value) {
  ------------------
  |  Branch (159:21): [True: 7.18k, False: 14.3k]
  ------------------
  160|  7.18k|                        char *content_type = NULL, *p;
  161|       |
  162|  7.18k|                        parse_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, &content_type, NULL);
  163|  7.18k|                        g_assert (content_type != NULL);
  ------------------
  |  |  275|  7.18k|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.18k|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|  7.18k|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|  7.18k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.18k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.18k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.18k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.18k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.18k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.18k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.18k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.18k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.18k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.18k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.18k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  7.18k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.18k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.18k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.18k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 7.18k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|  7.18k|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|  7.18k|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.18k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.18k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  7.18k|                        p = strpbrk (content_type, " /");
  166|  7.18k|                        if (!p || *p != '/' || strpbrk (p + 1, " /"))
  ------------------
  |  Branch (166:29): [True: 0, False: 7.18k]
  |  Branch (166:35): [True: 0, False: 7.18k]
  |  Branch (166:48): [True: 0, False: 7.18k]
  ------------------
  167|      0|                                g_free (content_type);
  168|  7.18k|                        else
  169|  7.18k|                                hdrs->content_type = content_type;
  170|  7.18k|                }
  171|  21.5k|                break;
  172|  21.5k|        case SOUP_HEADER_EXPECT:
  ------------------
  |  Branch (172:9): [True: 0, False: 21.5k]
  ------------------
  173|      0|                if (value) {
  ------------------
  |  Branch (173:21): [True: 0, False: 0]
  ------------------
  174|      0|                        if (!g_ascii_strcasecmp (value, "100-continue"))
  ------------------
  |  Branch (174:29): [True: 0, False: 0]
  ------------------
  175|      0|                                hdrs->expectations = SOUP_EXPECTATION_CONTINUE;
  176|      0|                        else
  177|      0|                                hdrs->expectations = SOUP_EXPECTATION_UNRECOGNIZED;
  178|      0|                } else
  179|      0|                        hdrs->expectations = 0;
  180|      0|                break;
  181|      0|        default:
  ------------------
  |  Branch (181:9): [True: 0, False: 21.5k]
  ------------------
  182|      0|                break;
  183|  21.5k|        }
  184|  21.5k|}
soup-message-headers.c:is_valid_header_value:
  262|  7.18k|{
  263|  7.18k|        return value && strpbrk (value, "\r\n") == NULL;
  ------------------
  |  Branch (263:16): [True: 7.18k, False: 0]
  |  Branch (263:25): [True: 7.18k, False: 0]
  ------------------
  264|  7.18k|}
soup-message-headers.c:find_last_common_header:
  480|  14.3k|{
  481|  14.3k|        SoupCommonHeader *hdr_array = (SoupCommonHeader *)array->data;
  482|  14.3k|        int i;
  483|       |
  484|  21.5k|        for (i = array->len - 1; i >= 0; i--) {
  ------------------
  |  Branch (484:34): [True: 14.3k, False: 7.18k]
  ------------------
  485|  14.3k|                if (hdr_array[i].name == name) {
  ------------------
  |  Branch (485:21): [True: 7.18k, False: 7.18k]
  ------------------
  486|  7.18k|                        if (nth-- == 0)
  ------------------
  |  Branch (486:29): [True: 7.18k, False: 0]
  ------------------
  487|  7.18k|                                return i;
  488|  7.18k|                }
  489|  14.3k|        }
  490|  7.18k|        return -1;
  491|  14.3k|}
soup-message-headers.c:parse_content_foo:
 1591|  7.18k|{
 1592|  7.18k|	const char *header;
 1593|  7.18k|	char *semi;
 1594|  7.18k|        char *equal;
 1595|       |
 1596|  7.18k|	header = soup_message_headers_get_one_common (hdrs, header_name);
 1597|  7.18k|	if (!header)
  ------------------
  |  Branch (1597:6): [True: 0, False: 7.18k]
  ------------------
 1598|      0|		return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
 1599|       |
 1600|       |        /* Some websites send an invalid disposition that only contains parameters;
 1601|       |         * We can be flexible about handling these by detecting if the first word
 1602|       |         * is a parameter (foo=bar). */
 1603|  7.18k|        equal = strchr (header, '=');
 1604|  7.18k|        semi = strchr (header, ';');
 1605|  7.18k|        if (header_name == SOUP_HEADER_CONTENT_DISPOSITION &&
  ------------------
  |  Branch (1605:13): [True: 0, False: 7.18k]
  ------------------
 1606|      0|            (equal && (!semi || (equal < semi)))) {
  ------------------
  |  Branch (1606:14): [True: 0, False: 0]
  |  Branch (1606:24): [True: 0, False: 0]
  |  Branch (1606:33): [True: 0, False: 0]
  ------------------
 1607|      0|                semi = (char *)header;
 1608|      0|                if (foo)
  ------------------
  |  Branch (1608:21): [True: 0, False: 0]
  ------------------
 1609|      0|                        *foo = NULL;
 1610|  7.18k|        } else if (foo) {
  ------------------
  |  Branch (1610:20): [True: 7.18k, False: 0]
  ------------------
 1611|  7.18k|                *foo = g_strdup (header);
  ------------------
  |  |  324|  7.18k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
 1612|  7.18k|                semi = strchr (*foo, ';');
 1613|  7.18k|                if (semi) {
  ------------------
  |  Branch (1613:21): [True: 0, False: 7.18k]
  ------------------
 1614|      0|                        char *p = semi;
 1615|       |
 1616|      0|                        *semi++ = '\0';
 1617|      0|                        while (p - 1 > *foo && g_ascii_isspace(p[-1]))
  ------------------
  |  |   86|      0|  ((g_ascii_table[(guchar) (c)] & G_ASCII_SPACE) != 0)
  |  |  ------------------
  |  |  |  Branch (86:3): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (1617:32): [True: 0, False: 0]
  ------------------
 1618|      0|                                *(--p) = '\0';
 1619|      0|                }
 1620|  7.18k|        } else {
 1621|       |                /* Skip type, we don't store it */
 1622|      0|                if (semi)
  ------------------
  |  Branch (1622:21): [True: 0, False: 0]
  ------------------
 1623|      0|                        semi++;
 1624|      0|        }
 1625|       |
 1626|  7.18k|	if (!params)
  ------------------
  |  Branch (1626:6): [True: 7.18k, False: 0]
  ------------------
 1627|  7.18k|		return TRUE;
  ------------------
  |  |  933|  7.18k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.18k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1628|       |
 1629|      0|	if (!semi) {
  ------------------
  |  Branch (1629:6): [True: 0, False: 0]
  ------------------
 1630|      0|		*params = soup_header_parse_semi_param_list ("");
 1631|      0|		return TRUE;
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1632|      0|	}
 1633|       |
 1634|      0|	*params = soup_header_parse_semi_param_list (semi);
 1635|      0|	return TRUE;
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1636|      0|}
soup-message-headers.c:set_content_foo:
 1683|  7.18k|{
 1684|  7.18k|	GString *str;
 1685|  7.18k|	GHashTableIter iter;
 1686|  7.18k|	gpointer key, value;
 1687|       |
 1688|  7.18k|	str = g_string_new (foo);
 1689|  7.18k|	if (params) {
  ------------------
  |  Branch (1689:6): [True: 0, False: 7.18k]
  ------------------
 1690|      0|		g_hash_table_iter_init (&iter, params);
 1691|      0|		while (g_hash_table_iter_next (&iter, &key, &value)) {
  ------------------
  |  Branch (1691:10): [True: 0, False: 0]
  ------------------
 1692|      0|                        char *filename = NULL;
 1693|       |
 1694|      0|			g_string_append (str, "; ");
  ------------------
  |  |  269|      0|  (__builtin_constant_p (val) ?                     \
  |  |  ------------------
  |  |  |  Branch (269:4): [True: 0, Folded]
  |  |  ------------------
  |  |  270|      0|    G_GNUC_EXTENSION ({                             \
  |  |  ------------------
  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  271|      0|      const char * const __val = (val);             \
  |  |  272|      0|      g_string_append_len (gstr, __val,             \
  |  |  ------------------
  |  |  |  |  251|      0|  g_string_append_len_inline (gstr, val, len)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (251:42): [True: 0, Folded]
  |  |  |  |  |  Branch (251:42): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  273|      0|        G_LIKELY (__val != NULL) ?                  \
  |  |  274|      0|          (gssize) strlen (_G_STR_NONNULL (__val))  \
  |  |  275|      0|        : (gssize) -1);                             \
  |  |  276|      0|    })                                              \
  |  |  277|      0|    :                                               \
  |  |  278|      0|    g_string_append_len (gstr, val, (gssize) -1))
  |  |  ------------------
  |  |  |  |  251|      0|  g_string_append_len_inline (gstr, val, len)
  |  |  ------------------
  ------------------
 1695|      0|                        if (g_strcmp0 (key, "filename") == 0)
  ------------------
  |  Branch (1695:29): [True: 0, False: 0]
  ------------------
 1696|      0|                                filename = sanitize_filename (value);
 1697|      0|			soup_header_g_string_append_param (str, key, filename ? filename : value);
  ------------------
  |  Branch (1697:49): [True: 0, False: 0]
  ------------------
 1698|      0|                        g_free (filename);
 1699|      0|		}
 1700|      0|	}
 1701|       |
 1702|  7.18k|	soup_message_headers_replace_common (hdrs, header_name, str->str, SOUP_HEADER_VALUE_UNTRUSTED);
 1703|  7.18k|	g_string_free (str, TRUE);
  ------------------
  |  |  933|  7.18k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.18k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1704|  7.18k|}

soup_message_new:
  969|  8.37k|{
  970|  8.37k|	SoupMessage *msg;
  971|  8.37k|	GUri *uri;
  972|       |
  973|  8.37k|	g_return_val_if_fail (method != NULL, NULL);
  ------------------
  |  |  663|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.37k|      { } \
  |  |  666|  8.37k|    else \
  |  |  667|  8.37k|      { \
  |  |  668|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  669|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  670|      0|                                  #expr); \
  |  |  671|      0|        return (val); \
  |  |  672|      0|      } \
  |  |  673|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  974|  8.37k|	g_return_val_if_fail (uri_string != NULL, NULL);
  ------------------
  |  |  663|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.37k|      { } \
  |  |  666|  8.37k|    else \
  |  |  667|  8.37k|      { \
  |  |  668|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  669|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  670|      0|                                  #expr); \
  |  |  671|      0|        return (val); \
  |  |  672|      0|      } \
  |  |  673|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  975|       |
  976|  8.37k|	uri = g_uri_parse (uri_string, SOUP_HTTP_URI_FLAGS, NULL);
  ------------------
  |  |   40|  8.37k|#define SOUP_HTTP_URI_FLAGS (G_URI_FLAGS_HAS_PASSWORD | G_URI_FLAGS_ENCODED_PATH | G_URI_FLAGS_ENCODED_QUERY | G_URI_FLAGS_ENCODED_FRAGMENT | G_URI_FLAGS_SCHEME_NORMALIZE)
  ------------------
  977|  8.37k|	if (!uri)
  ------------------
  |  Branch (977:6): [True: 0, False: 8.37k]
  ------------------
  978|      0|		return NULL;
  979|       |
  980|  8.37k|	if (!soup_uri_is_valid (uri)) {
  ------------------
  |  Branch (980:6): [True: 0, False: 8.37k]
  ------------------
  981|      0|		g_uri_unref (uri);
  982|      0|		return NULL;
  983|      0|	}
  984|       |
  985|  8.37k|	msg = soup_message_new_from_uri (method, uri);
  986|  8.37k|	g_uri_unref (uri);
  987|  8.37k|	return msg;
  988|  8.37k|}
soup_message_new_from_uri:
 1001|  8.37k|{
 1002|  8.37k|        g_return_val_if_fail (method != NULL, NULL);
  ------------------
  |  |  663|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.37k|      { } \
  |  |  666|  8.37k|    else \
  |  |  667|  8.37k|      { \
  |  |  668|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  669|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  670|      0|                                  #expr); \
  |  |  671|      0|        return (val); \
  |  |  672|      0|      } \
  |  |  673|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1003|  8.37k|        g_return_val_if_fail (soup_uri_is_valid (uri), NULL);
  ------------------
  |  |  663|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.37k|      { } \
  |  |  666|  8.37k|    else \
  |  |  667|  8.37k|      { \
  |  |  668|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  669|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  670|      0|                                  #expr); \
  |  |  671|      0|        return (val); \
  |  |  672|      0|      } \
  |  |  673|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1004|       |
 1005|  8.37k|	return g_object_new (SOUP_TYPE_MESSAGE,
  ------------------
  |  |   16|  8.37k|#define SOUP_TYPE_MESSAGE (soup_message_get_type ())
  ------------------
 1006|  8.37k|			     "method", method,
 1007|  8.37k|			     "uri", uri,
 1008|       |			     NULL);
 1009|  8.37k|}
soup_message_set_connection:
 1710|  8.37k|{
 1711|  8.37k|	SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
 1712|  8.37k|        SoupConnection *connection = g_weak_ref_get (&priv->connection);
 1713|       |
 1714|  8.37k|        if (connection == conn) {
  ------------------
  |  Branch (1714:13): [True: 8.37k, False: 0]
  ------------------
 1715|  8.37k|                g_clear_object (&connection);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
 1716|  8.37k|                return;
 1717|  8.37k|        }
 1718|       |
 1719|      0|	if (connection) {
  ------------------
  |  Branch (1719:6): [True: 0, False: 0]
  ------------------
 1720|      0|		g_signal_handlers_disconnect_by_data (connection, msg);
  ------------------
  |  |  606|      0|  g_signal_handlers_disconnect_matched ((instance), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, (data))
  ------------------
 1721|       |
 1722|      0|                if (priv->pending_tls_cert_request) {
  ------------------
  |  Branch (1722:21): [True: 0, False: 0]
  ------------------
 1723|      0|                        soup_connection_complete_tls_certificate_request (connection,
 1724|      0|                                                                          priv->tls_client_certificate,
 1725|      0|                                                                          g_steal_pointer (&priv->pending_tls_cert_request));
  ------------------
  |  |  247|      0|#define g_steal_pointer(pp) ((glib_typeof (*pp)) (g_steal_pointer) (pp))
  ------------------
 1726|      0|                        g_clear_object (&priv->tls_client_certificate);
  ------------------
  |  |  695|      0|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|      0|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|      0|  {                                                      \
  |  |  |  |  138|      0|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|      0|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|      0|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|      0|    *_pp = NULL;                                         \
  |  |  |  |  142|      0|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  143|      0|      (destroy) (_ptr);                                  \
  |  |  |  |  144|      0|  }                                                      \
  |  |  |  |  145|      0|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|      0|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
 1727|      0|                }
 1728|      0|                soup_connection_set_in_use (connection, FALSE);
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
 1729|      0|                g_object_unref (connection);
 1730|      0|	}
 1731|       |
 1732|      0|        g_weak_ref_set (&priv->connection, conn);
 1733|      0|	if (!conn)
  ------------------
  |  Branch (1733:6): [True: 0, False: 0]
  ------------------
 1734|      0|		return;
 1735|       |
 1736|      0|        soup_connection_set_in_use (conn, TRUE);
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1737|      0|        priv->last_connection_id = soup_connection_get_id (conn);
 1738|       |
 1739|      0|        soup_message_set_tls_peer_certificate (msg,
 1740|      0|                                               soup_connection_get_tls_certificate (conn),
 1741|      0|                                               soup_connection_get_tls_certificate_errors (conn));
 1742|      0|        soup_message_set_tls_protocol_version (msg, soup_connection_get_tls_protocol_version (conn));
 1743|      0|        soup_message_set_tls_ciphersuite_name (msg, soup_connection_get_tls_ciphersuite_name (conn));
 1744|      0|        soup_message_set_remote_address (msg, soup_connection_get_remote_address (conn));
 1745|       |
 1746|      0|        if (priv->tls_client_certificate) {
  ------------------
  |  Branch (1746:13): [True: 0, False: 0]
  ------------------
 1747|      0|                soup_connection_set_tls_client_certificate (conn, priv->tls_client_certificate);
 1748|      0|                g_clear_object (&priv->tls_client_certificate);
  ------------------
  |  |  695|      0|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|      0|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|      0|  {                                                      \
  |  |  |  |  138|      0|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|      0|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|      0|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|      0|    *_pp = NULL;                                         \
  |  |  |  |  142|      0|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  143|      0|      (destroy) (_ptr);                                  \
  |  |  |  |  144|      0|  }                                                      \
  |  |  |  |  145|      0|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|      0|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
 1749|      0|        }
 1750|       |
 1751|      0|	g_signal_connect_object (conn, "event",
 1752|      0|				 G_CALLBACK (re_emit_connection_event),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1753|      0|				 msg, G_CONNECT_SWAPPED);
 1754|      0|	g_signal_connect_object (conn, "accept-certificate",
 1755|      0|				 G_CALLBACK (re_emit_accept_certificate),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1756|      0|				 msg, G_CONNECT_SWAPPED);
 1757|      0|        g_signal_connect_object (conn, "request-certificate",
 1758|      0|                                 G_CALLBACK (re_emit_request_certificate),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1759|      0|                                 msg, G_CONNECT_SWAPPED);
 1760|      0|        g_signal_connect_object (conn, "request-certificate-password",
 1761|      0|                                 G_CALLBACK (re_emit_request_certificate_password),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1762|      0|                                 msg, G_CONNECT_SWAPPED);
 1763|      0|	g_signal_connect_object (conn, "notify::tls-certificate",
 1764|      0|				 G_CALLBACK (re_emit_tls_certificate_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1765|      0|				 msg, G_CONNECT_SWAPPED);
 1766|      0|        g_signal_connect_object (conn, "notify::tls-protocol-version",
 1767|      0|                                 G_CALLBACK (connection_tls_protocol_version_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1768|      0|                                 msg, G_CONNECT_SWAPPED);
 1769|      0|        g_signal_connect_object (conn, "notify::tls-ciphersuite-name",
 1770|      0|                                 G_CALLBACK (connection_tls_ciphersuite_name_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1771|      0|                                 msg, G_CONNECT_SWAPPED);
 1772|      0|        g_signal_connect_object (conn, "notify::remote-address",
 1773|      0|                                 G_CALLBACK (connection_remote_address_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1774|      0|                                 msg, G_CONNECT_SWAPPED);
 1775|      0|}
soup_message_set_uri:
 2131|  8.37k|{
 2132|  8.37k|	SoupMessagePrivate *priv;
 2133|  8.37k|        GUri *normalized_uri;
 2134|       |
 2135|  8.37k|	g_return_if_fail (SOUP_IS_MESSAGE (msg));
  ------------------
  |  |  650|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  8.37k|      { } \
  |  |  653|  8.37k|    else \
  |  |  654|  8.37k|      { \
  |  |  655|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  656|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  657|      0|                                  #expr); \
  |  |  658|      0|        return; \
  |  |  659|      0|      } \
  |  |  660|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2136|  8.37k|        g_return_if_fail (soup_uri_is_valid (uri));
  ------------------
  |  |  650|  8.37k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  8.37k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.37k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.37k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.37k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.37k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.37k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.37k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.37k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.37k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.37k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  8.37k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.37k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.37k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.37k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.37k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  8.37k|      { } \
  |  |  653|  8.37k|    else \
  |  |  654|  8.37k|      { \
  |  |  655|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  656|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  657|      0|                                  #expr); \
  |  |  658|      0|        return; \
  |  |  659|      0|      } \
  |  |  660|  8.37k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2137|       |
 2138|  8.37k|	priv = soup_message_get_instance_private (msg);
 2139|       |
 2140|  8.37k|        normalized_uri = soup_uri_copy_with_normalized_flags (uri);
 2141|  8.37k|        if (!normalized_uri)
  ------------------
  |  Branch (2141:13): [True: 0, False: 8.37k]
  ------------------
 2142|      0|                return;
 2143|       |
 2144|  8.37k|        if (priv->uri) {
  ------------------
  |  Branch (2144:13): [True: 0, False: 8.37k]
  ------------------
 2145|      0|                if (soup_uri_equal (priv->uri, normalized_uri)) {
  ------------------
  |  Branch (2145:21): [True: 0, False: 0]
  ------------------
 2146|      0|                        g_uri_unref (normalized_uri);
 2147|      0|                        return;
 2148|      0|                }
 2149|       |
 2150|      0|                g_uri_unref (priv->uri);
 2151|      0|        }
 2152|       |
 2153|  8.37k|	priv->uri = normalized_uri;
 2154|  8.37k|	g_object_notify_by_pspec (G_OBJECT (msg), properties[PROP_URI]);
  ------------------
  |  |   54|  8.37k|#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
  |  |  ------------------
  |  |  |  |  528|  8.37k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2656|  8.37k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2155|  8.37k|}
soup_message_get_response_headers:
 3046|  23.9k|{
 3047|  23.9k|        SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
 3048|       |
 3049|  23.9k|	g_return_val_if_fail (SOUP_IS_MESSAGE (msg), NULL);
  ------------------
  |  |  663|  23.9k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  23.9k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  23.9k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  23.9k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  23.9k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  23.9k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  23.9k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  23.9k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  23.9k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 23.9k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  23.9k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  23.9k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  23.9k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  23.9k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  23.9k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|      0|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|      0|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  23.9k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  23.9k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  23.9k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  23.9k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 23.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  23.9k|      { } \
  |  |  666|  23.9k|    else \
  |  |  667|  23.9k|      { \
  |  |  668|      0|        g_return_if_fail_warning (G_LOG_DOMAIN, \
  |  |  669|      0|                                  G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  670|      0|                                  #expr); \
  |  |  671|      0|        return (val); \
  |  |  672|      0|      } \
  |  |  673|  23.9k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  23.9k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 23.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3050|       |
 3051|  23.9k|        return priv->response_headers; 
 3052|  23.9k|}
soup_message_set_method:
 3084|  8.37k|{
 3085|  8.37k|        SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
 3086|  8.37k|        const char *new_method = g_intern_string (method);
 3087|       |
 3088|  8.37k|        if (priv->method == new_method)
  ------------------
  |  Branch (3088:13): [True: 0, False: 8.37k]
  ------------------
 3089|      0|                return;
 3090|       |
 3091|  8.37k|        priv->method = new_method;
 3092|  8.37k|        g_object_notify_by_pspec (G_OBJECT (msg), properties[PROP_METHOD]);
  ------------------
  |  |   54|  8.37k|#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
  |  |  ------------------
  |  |  |  |  528|  8.37k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2656|  8.37k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3093|  8.37k|}
soup-message.c:soup_message_class_init:
  328|      1|{
  329|      1|	GObjectClass *object_class = G_OBJECT_CLASS (message_class);
  ------------------
  |  |   61|      1|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|      1|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2657|      1|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|       |
  331|       |	/* virtual method override */
  332|      1|	object_class->finalize = soup_message_finalize;
  333|      1|	object_class->set_property = soup_message_set_property;
  334|      1|	object_class->get_property = soup_message_get_property;
  335|       |
  336|       |	/* signals */
  337|       |
  338|       |	/**
  339|       |	 * SoupMessage::wrote-headers:
  340|       |	 * @msg: the message
  341|       |	 *
  342|       |	 * Emitted immediately after writing the request headers for a
  343|       |	 * message.
  344|       |	 **/
  345|      1|	signals[WROTE_HEADERS] =
  346|      1|		g_signal_new ("wrote-headers",
  347|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  348|      1|			      G_SIGNAL_RUN_FIRST,
  349|      1|			      0,
  350|      1|			      NULL, NULL,
  351|      1|			      NULL,
  352|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|       |
  354|       |	/**
  355|       |	 * SoupMessage::wrote-body-data:
  356|       |	 * @msg: the message
  357|       |	 * @chunk_size: the number of bytes written
  358|       |	 *
  359|       |	 * Emitted immediately after writing a portion of the message
  360|       |	 * body to the network.
  361|       |	 **/
  362|      1|	signals[WROTE_BODY_DATA] =
  363|      1|		g_signal_new ("wrote-body-data",
  364|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  365|      1|			      G_SIGNAL_RUN_FIRST,
  366|      1|			      0,
  367|      1|			      NULL, NULL,
  368|      1|			      NULL,
  369|      1|			      G_TYPE_NONE, 1,
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  370|      1|			      G_TYPE_UINT);
  ------------------
  |  |  111|      1|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|       |
  372|       |	/**
  373|       |	 * SoupMessage::wrote-body:
  374|       |	 * @msg: the message
  375|       |	 *
  376|       |	 * Emitted immediately after writing the complete body for a
  377|       |	 * message.
  378|       |	 **/
  379|      1|	signals[WROTE_BODY] =
  380|      1|		g_signal_new ("wrote-body",
  381|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  382|      1|			      G_SIGNAL_RUN_FIRST,
  383|      1|			      0,
  384|      1|			      NULL, NULL,
  385|      1|			      NULL,
  386|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|       |
  388|       |	/**
  389|       |	 * SoupMessage::got-informational:
  390|       |	 * @msg: the message
  391|       |	 *
  392|       |	 * Emitted after receiving a 1xx (Informational) response for
  393|       |	 * a (client-side) message.
  394|       |	 *
  395|       |	 * The response_headers will be filled in with the headers associated
  396|       |	 * with the informational response; however, those header values will be
  397|       |	 * erased after this signal is done.
  398|       |	 *
  399|       |	 * If you cancel or requeue @msg while processing this signal,
  400|       |	 * then the current HTTP I/O will be stopped after this signal
  401|       |	 * emission finished, and @msg's connection will be closed.
  402|       |	 **/
  403|      1|	signals[GOT_INFORMATIONAL] =
  404|      1|		g_signal_new ("got-informational",
  405|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  406|      1|			      G_SIGNAL_RUN_FIRST,
  407|      1|			      0,
  408|      1|			      NULL, NULL,
  409|      1|			      NULL,
  410|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  411|       |
  412|       |	/**
  413|       |	 * SoupMessage::got-headers:
  414|       |	 * @msg: the message
  415|       |	 *
  416|       |	 * Emitted after receiving the Status-Line and response headers.
  417|       |	 *
  418|       |	 * See also [method@Message.add_header_handler] and
  419|       |	 * [method@Message.add_status_code_handler], which can be used to
  420|       |	 * connect to a subset of emissions of this signal.
  421|       |	 *
  422|       |	 * If you cancel or requeue @msg while processing this signal,
  423|       |	 * then the current HTTP I/O will be stopped after this signal
  424|       |	 * emission finished, and @msg's connection will be closed.
  425|       |	 * (If you need to requeue a message--eg, after handling
  426|       |	 * authentication or redirection--it is usually better to
  427|       |	 * requeue it from a [signal@Message::got-body] handler rather
  428|       |	 * than a [signal@Message::got_headers] handler, so that the
  429|       |	 * existing HTTP connection can be reused.)
  430|       |	 **/
  431|      1|	signals[GOT_HEADERS] =
  432|      1|		g_signal_new ("got-headers",
  433|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  434|      1|			      G_SIGNAL_RUN_FIRST,
  435|      1|			      0,
  436|      1|			      NULL, NULL,
  437|      1|			      NULL,
  438|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  439|       |
  440|       |        /**
  441|       |         * SoupMessage::got-body-data:
  442|       |         * @msg: the message
  443|       |         * @chunk_size: the number of bytes read
  444|       |         *
  445|       |         * Emitted after reading a portion of the message
  446|       |         * body from the network.
  447|       |         *
  448|       |         * Since: 3.4
  449|       |         */
  450|      1|        signals[GOT_BODY_DATA] =
  451|      1|                g_signal_new ("got-body-data",
  452|      1|                              G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  453|      1|                              G_SIGNAL_RUN_FIRST,
  454|      1|                              0,
  455|      1|                              NULL, NULL,
  456|      1|                              NULL,
  457|      1|                              G_TYPE_NONE, 1,
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|      1|                              G_TYPE_UINT);
  ------------------
  |  |  111|      1|#define G_TYPE_UINT			G_TYPE_MAKE_FUNDAMENTAL (7)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  459|       |
  460|       |	/**
  461|       |	 * SoupMessage::got-body:
  462|       |	 * @msg: the message
  463|       |	 *
  464|       |	 * Emitted after receiving the complete message response body.
  465|       |	 **/
  466|      1|	signals[GOT_BODY] =
  467|      1|		g_signal_new ("got-body",
  468|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  469|      1|			      G_SIGNAL_RUN_FIRST,
  470|      1|			      0,
  471|      1|			      NULL, NULL,
  472|      1|			      NULL,
  473|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  474|       |
  475|       |	/**
  476|       |	 * SoupMessage::content-sniffed:
  477|       |	 * @msg: the message
  478|       |	 * @type: the content type that we got from sniffing
  479|       |	 * @params: (element-type utf8 utf8): a #GHashTable with the parameters
  480|       |	 *
  481|       |	 * This signal is emitted after [signal@Message::got-headers].
  482|       |	 *
  483|       |	 * If content sniffing is disabled, or no content sniffing will be
  484|       |	 * performed, due to the sniffer deciding to trust the
  485|       |	 * Content-Type sent by the server, this signal is emitted
  486|       |	 * immediately after [signal@Message::got-headers], and @type is
  487|       |	 * %NULL.
  488|       |	 **/
  489|      1|	signals[CONTENT_SNIFFED] =
  490|      1|		g_signal_new ("content-sniffed",
  491|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  492|      1|			      G_SIGNAL_RUN_FIRST,
  493|      1|			      0,
  494|      1|			      NULL, NULL,
  495|      1|			      NULL,
  496|      1|			      G_TYPE_NONE, 2,
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  497|      1|			      G_TYPE_STRING,
  ------------------
  |  |  165|      1|#define G_TYPE_STRING			G_TYPE_MAKE_FUNDAMENTAL (16)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  498|      1|			      G_TYPE_HASH_TABLE);
  ------------------
  |  |   89|      1|#define G_TYPE_HASH_TABLE (g_hash_table_get_type ())
  ------------------
  499|       |
  500|       |	/**
  501|       |	 * SoupMessage::starting:
  502|       |	 * @msg: the message
  503|       |	 *
  504|       |	 * Emitted just before a message is sent.
  505|       |	 */
  506|      1|	signals[STARTING] =
  507|      1|		g_signal_new ("starting",
  508|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  509|      1|			      G_SIGNAL_RUN_FIRST,
  510|      1|			      0,
  511|      1|			      NULL, NULL,
  512|      1|			      NULL,
  513|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  514|       |
  515|       |	/**
  516|       |	 * SoupMessage::restarted:
  517|       |	 * @msg: the message
  518|       |	 *
  519|       |	 * Emitted when a request that was already sent once is now
  520|       |	 * being sent again.
  521|       |	 *
  522|       |	 * e.g. because the first attempt received a
  523|       |	 * redirection response, or because we needed to use
  524|       |	 * authentication.
  525|       |	 **/
  526|      1|	signals[RESTARTED] =
  527|      1|		g_signal_new ("restarted",
  528|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  529|      1|			      G_SIGNAL_RUN_FIRST,
  530|      1|			      0,
  531|      1|			      NULL, NULL,
  532|      1|			      NULL,
  533|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  534|       |
  535|       |	/**
  536|       |	 * SoupMessage::finished:
  537|       |	 * @msg: the message
  538|       |	 *
  539|       |	 * Emitted when all HTTP processing is finished for a message.
  540|       |	 *
  541|       |	 * (After [signal@Message::got_body]).
  542|       |	 **/
  543|      1|	signals[FINISHED] =
  544|      1|		g_signal_new ("finished",
  545|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  546|      1|			      G_SIGNAL_RUN_FIRST,
  547|      1|			      0,
  548|      1|			      NULL, NULL,
  549|      1|			      NULL,
  550|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|       |
  552|       |	/**
  553|       |	 * SoupMessage::authenticate:
  554|       |	 * @msg: the message
  555|       |	 * @auth: the #SoupAuth to authenticate
  556|       |	 * @retrying: %TRUE if this is the second (or later) attempt
  557|       |	 *
  558|       |	 * Emitted when the message requires authentication.
  559|       |	 *
  560|       |	 * If credentials are available call [method@Auth.authenticate] on
  561|       |	 * @auth. If these credentials fail, the signal will be emitted again,
  562|       |	 * with @retrying set to %TRUE, which will continue until you return
  563|       |	 * without calling [method@Auth.authenticate] on @auth.
  564|       |	 *
  565|       |	 * Note that this may be emitted before @msg's body has been
  566|       |	 * fully read.
  567|       |	 *
  568|       |	 * You can authenticate @auth asynchronously by calling
  569|       |	 * [method@GObject.Object.ref] on @auth and returning %TRUE. The operation will
  570|       |	 * complete once either [method@Auth.authenticate] or
  571|       |	 * [method@Auth.cancel] are called.
  572|       |	 *
  573|       |	 * Returns: %TRUE to stop other handlers from being invoked
  574|       |	 *   or %FALSE to propagate the event further.
  575|       |	 **/
  576|      1|	signals[AUTHENTICATE] =
  577|      1|		g_signal_new ("authenticate",
  578|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  579|      1|			      G_SIGNAL_RUN_LAST,
  580|      1|			      0,
  581|      1|			      g_signal_accumulator_true_handled, NULL,
  582|      1|			      NULL,
  583|      1|			      G_TYPE_BOOLEAN, 2,
  ------------------
  |  |   99|      1|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  584|      1|			      SOUP_TYPE_AUTH,
  ------------------
  |  |   13|      1|#define SOUP_TYPE_AUTH (soup_auth_get_type())
  ------------------
  585|      1|			      G_TYPE_BOOLEAN);
  ------------------
  |  |   99|      1|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  586|       |
  587|       |	/**
  588|       |	 * SoupMessage::network-event:
  589|       |	 * @msg: the message
  590|       |	 * @event: the network event
  591|       |	 * @connection: the current state of the network connection
  592|       |	 *
  593|       |	 * Emitted to indicate that some network-related event
  594|       |	 * related to @msg has occurred.
  595|       |	 *
  596|       |	 * This essentially proxies the [signal@Gio.SocketClient::event] signal,
  597|       |	 * but only for events that occur while @msg "owns" the connection; if
  598|       |	 * @msg is sent on an existing persistent connection, then this signal
  599|       |	 * will not be emitted. (If you want to force the message to be sent on
  600|       |	 * a new connection, set the %SOUP_MESSAGE_NEW_CONNECTION flag on it.)
  601|       |	 *
  602|       |	 * See [signal@Gio.SocketClient::event] for more information on what
  603|       |	 * the different values of @event correspond to, and what
  604|       |	 * @connection will be in each case.
  605|       |	 **/
  606|      1|	signals[NETWORK_EVENT] =
  607|      1|		g_signal_new ("network-event",
  608|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  609|      1|			      G_SIGNAL_RUN_FIRST,
  610|      1|			      0,
  611|      1|			      NULL, NULL,
  612|      1|			      NULL,
  613|      1|			      G_TYPE_NONE, 2,
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  614|      1|			      G_TYPE_SOCKET_CLIENT_EVENT,
  ------------------
  |  |  179|      1|#define G_TYPE_SOCKET_CLIENT_EVENT (g_socket_client_event_get_type ())
  ------------------
  615|      1|			      G_TYPE_IO_STREAM);
  ------------------
  |  |   33|      1|#define G_TYPE_IO_STREAM         (g_io_stream_get_type ())
  ------------------
  616|       |
  617|       |	/**
  618|       |	 * SoupMessage::accept-certificate:
  619|       |	 * @msg: the message
  620|       |	 * @tls_peer_certificate: the peer's #GTlsCertificate
  621|       |	 * @tls_peer_errors: the tls errors of @tls_certificate
  622|       |	 *
  623|       |	 * Emitted during the @msg's connection TLS handshake
  624|       |	 * after an unacceptable TLS certificate has been received.
  625|       |	 *
  626|       |	 * You can return %TRUE to accept @tls_certificate despite
  627|       |	 * @tls_errors.
  628|       |	 *
  629|       |	 * Returns: %TRUE to accept the TLS certificate and stop other
  630|       |	 *   handlers from being invoked, or %FALSE to propagate the
  631|       |	 *   event further.
  632|       |	 */
  633|      1|	signals[ACCEPT_CERTIFICATE] =
  634|      1|		g_signal_new ("accept-certificate",
  635|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  636|      1|			      G_SIGNAL_RUN_LAST,
  637|      1|			      0,
  638|      1|			      g_signal_accumulator_true_handled, NULL,
  639|      1|			      NULL,
  640|      1|			      G_TYPE_BOOLEAN, 2,
  ------------------
  |  |   99|      1|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  641|      1|			      G_TYPE_TLS_CERTIFICATE,
  ------------------
  |  |   32|      1|#define G_TYPE_TLS_CERTIFICATE            (g_tls_certificate_get_type ())
  ------------------
  642|      1|			      G_TYPE_TLS_CERTIFICATE_FLAGS);
  ------------------
  |  |  151|      1|#define G_TYPE_TLS_CERTIFICATE_FLAGS (g_tls_certificate_flags_get_type ())
  ------------------
  643|       |
  644|       |        /**
  645|       |         * SoupMessage::request-certificate:
  646|       |         * @msg: the message
  647|       |         * @tls_connection: the #GTlsClientConnection
  648|       |         *
  649|       |         * Emitted during the @msg's connection TLS handshake when
  650|       |         * @tls_connection requests a certificate from the client.
  651|       |         *
  652|       |         * You can set the client certificate by calling
  653|       |         * [method@Message.set_tls_client_certificate] and returning %TRUE. It's
  654|       |         * possible to handle the request asynchornously by returning %TRUE and
  655|       |         * call [method@Message.set_tls_client_certificate] later once the
  656|       |         * certificate is available. Note that this signal is not emitted if
  657|       |         * [property@Session:tls-interaction] was set, or if
  658|       |         * [method@Message.set_tls_client_certificate] was called before the
  659|       |         * connection TLS handshake started.
  660|       |         *
  661|       |         * Returns: %TRUE to handle the request, or %FALSE to make the connection
  662|       |         *   fail with %G_TLS_ERROR_CERTIFICATE_REQUIRED.
  663|       |         */
  664|      1|        signals[REQUEST_CERTIFICATE] =
  665|      1|                g_signal_new ("request-certificate",
  666|      1|                              G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  667|      1|                              G_SIGNAL_RUN_LAST,
  668|      1|                              0,
  669|      1|                              g_signal_accumulator_true_handled, NULL,
  670|      1|                              NULL,
  671|      1|                              G_TYPE_BOOLEAN, 1,
  ------------------
  |  |   99|      1|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  672|      1|                              G_TYPE_TLS_CLIENT_CONNECTION);
  ------------------
  |  |   32|      1|#define G_TYPE_TLS_CLIENT_CONNECTION                (g_tls_client_connection_get_type ())
  ------------------
  673|       |
  674|       |        /**
  675|       |         * SoupMessage::request-certificate-password:
  676|       |         * @msg: the message
  677|       |         * @tls_password: the #GTlsPassword
  678|       |         *
  679|       |         * Emitted during the @msg's connection TLS handshake when
  680|       |         * @tls_connection requests a certificate password from the client.
  681|       |         *
  682|       |         * You can set the certificate password on @password, then call
  683|       |         * [method@Message.tls_client_certificate_password_request_complete] and
  684|       |         * return %TRUE to handle the signal synchronously. It's possible to
  685|       |         * handle the request asynchornously by calling
  686|       |         * [method@GObject.Object.ref] on @password, then returning %TRUE and
  687|       |         * call
  688|       |         * [method@Message.tls_client_certificate_password_request_complete]
  689|       |         * later after setting the password on @password. Note that this signal
  690|       |         * is not emitted if [property@Session:tls-interaction] was set.
  691|       |         *
  692|       |         * Returns: %TRUE to handle the request, or %FALSE to make the connection
  693|       |         *   fail with %G_TLS_ERROR_CERTIFICATE_REQUIRED.
  694|       |         */
  695|      1|        signals[REQUEST_CERTIFICATE_PASSWORD] =
  696|      1|                g_signal_new ("request-certificate-password",
  697|      1|                              G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  698|      1|                              G_SIGNAL_RUN_LAST,
  699|      1|                              0,
  700|      1|                              g_signal_accumulator_true_handled, NULL,
  701|      1|                              NULL,
  702|      1|                              G_TYPE_BOOLEAN, 1,
  ------------------
  |  |   99|      1|#define G_TYPE_BOOLEAN			G_TYPE_MAKE_FUNDAMENTAL (5)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  703|      1|                              G_TYPE_TLS_PASSWORD);
  ------------------
  |  |   34|      1|#define G_TYPE_TLS_PASSWORD         (g_tls_password_get_type ())
  ------------------
  704|       |
  705|       |	/**
  706|       |	 * SoupMessage::hsts-enforced:
  707|       |	 * @msg: the message
  708|       |	 *
  709|       |	 * Emitted when [class@HSTSEnforcer] has upgraded the protocol
  710|       |	 * for @msg to HTTPS as a result of matching its domain with
  711|       |	 * a HSTS policy.
  712|       |	 **/
  713|      1|	signals[HSTS_ENFORCED] =
  714|      1|		g_signal_new ("hsts-enforced",
  715|      1|			      G_OBJECT_CLASS_TYPE (object_class),
  ------------------
  |  |  117|      1|#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
  |  |  ------------------
  |  |  |  |  657|      1|#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
  |  |  ------------------
  ------------------
  716|      1|			      G_SIGNAL_RUN_LAST,
  717|      1|			      0,
  718|      1|			      NULL, NULL,
  719|      1|			      NULL,
  720|      1|			      G_TYPE_NONE, 0);
  ------------------
  |  |   72|      1|#define G_TYPE_NONE			G_TYPE_MAKE_FUNDAMENTAL (1)
  |  |  ------------------
  |  |  |  |  227|      1|#define	G_TYPE_MAKE_FUNDAMENTAL(x)	((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      1|#define G_TYPE_FUNDAMENTAL_SHIFT        (2)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  721|       |
  722|       |	/**
  723|       |	 * SoupMessage:method: (attributes org.gtk.Property.get=soup_message_get_method org.gtk.Property.set=soup_message_set_method)
  724|       |	 *
  725|       |	 * The message's HTTP method.
  726|       |	 **/
  727|       |	/* properties */
  728|      1|        properties[PROP_METHOD] =
  729|      1|		g_param_spec_string ("method",
  730|      1|				     "Method",
  731|      1|				     "The message's HTTP method",
  732|      1|				     SOUP_METHOD_GET,
  ------------------
  |  |   40|      1|#define SOUP_METHOD_GET       _SOUP_INTERN_METHOD (GET)
  |  |  ------------------
  |  |  |  |   36|      1|#define _SOUP_INTERN_METHOD(method) (_SOUP_ATOMIC_INTERN_STRING (_SOUP_METHOD_##method, #method))
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|      1|#define _SOUP_ATOMIC_INTERN_STRING(variable, value) ((const char *)(g_atomic_pointer_get (&(variable)) ? (variable) : (g_atomic_pointer_set (&(variable), (gpointer)g_intern_static_string (value)), (variable))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  127|      1|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (127:3): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  128|      1|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  129|      1|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  130|      1|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  131|      1|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  132|      1|    gapg_temp_newval;                                                      \
  |  |  |  |  |  |  |  |  133|      1|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define _SOUP_ATOMIC_INTERN_STRING(variable, value) ((const char *)(g_atomic_pointer_get (&(variable)) ? (variable) : (g_atomic_pointer_set (&(variable), (gpointer)g_intern_static_string (value)), (variable))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  135|      0|  (G_GNUC_EXTENSION ({                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|      0|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  136|      0|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  872|      0|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  137|      0|    glib_typeof ((atomic)) gaps_temp_atomic = (atomic);                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  138|      0|    glib_typeof (*(atomic)) gaps_temp_newval = (newval);                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  139|      0|    (void) (0 ? (gpointer) * (atomic) : NULL);                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (139:13): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  140|      0|    __atomic_store (gaps_temp_atomic, &gaps_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  |  |  |  |  141|      0|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  733|      1|				     G_PARAM_READWRITE |
  734|      1|				     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  735|       |	/**
  736|       |	 * SoupMessage:uri: (attributes org.gtk.Property.get=soup_message_get_uri org.gtk.Property.set=soup_message_set_uri)
  737|       |	 *
  738|       |	 * The message's Request-URI.
  739|       |	 **/
  740|      1|        properties[PROP_URI] =
  741|      1|		g_param_spec_boxed ("uri",
  742|      1|				    "URI",
  743|      1|				    "The message's Request-URI",
  744|      1|				    G_TYPE_URI,
  ------------------
  |  |  310|      1|#define G_TYPE_URI (g_uri_get_type ())
  ------------------
  745|      1|				    G_PARAM_READWRITE |
  746|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  747|       |	/**
  748|       |	 * SoupMessage:http-version: (attributes org.gtk.Property.get=soup_message_get_http_version)
  749|       |	 *
  750|       |	 * The HTTP protocol version to use.
  751|       |	 **/
  752|      1|        properties[PROP_HTTP_VERSION] =
  753|      1|		g_param_spec_enum ("http-version",
  754|      1|				   "HTTP Version",
  755|      1|				   "The HTTP protocol version to use",
  756|      1|				   SOUP_TYPE_HTTP_VERSION,
  ------------------
  |  |   67|      1|#define SOUP_TYPE_HTTP_VERSION (soup_http_version_get_type ())
  ------------------
  757|      1|				   SOUP_HTTP_1_1,
  758|      1|				   G_PARAM_READABLE |
  759|      1|				   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  760|       |	/**
  761|       |	 * SoupMessage:flags: (attributes org.gtk.Property.get=soup_message_get_flags org.gtk.Property.set=soup_message_set_flags)
  762|       |	 *
  763|       |	 * Various message options.
  764|       |	 **/
  765|      1|        properties[PROP_FLAGS] =
  766|      1|		g_param_spec_flags ("flags",
  767|      1|				    "Flags",
  768|      1|				    "Various message options",
  769|      1|				    SOUP_TYPE_MESSAGE_FLAGS,
  ------------------
  |  |   55|      1|#define SOUP_TYPE_MESSAGE_FLAGS (soup_message_flags_get_type ())
  ------------------
  770|      1|				    0,
  771|      1|				    G_PARAM_READWRITE |
  772|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  773|       |	/**
  774|       |	 * SoupMessage:status-code:
  775|       |	 *
  776|       |	 * The HTTP response status code.
  777|       |	 **/
  778|      1|        properties[PROP_STATUS_CODE] =
  779|      1|		g_param_spec_uint ("status-code",
  780|      1|				   "Status code",
  781|      1|				   "The HTTP response status code",
  782|      1|				   0, 999, 0,
  783|      1|				   G_PARAM_READABLE |
  784|      1|				   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  785|       |	/**
  786|       |	 * SoupMessage:reason-phrase: (attributes org.gtk.Property.get=soup_message_get_reason_phrase)
  787|       |	 *
  788|       |	 * The HTTP response reason phrase.
  789|       |	 **/
  790|      1|        properties[PROP_REASON_PHRASE] =
  791|      1|		g_param_spec_string ("reason-phrase",
  792|      1|				     "Reason phrase",
  793|      1|				     "The HTTP response reason phrase",
  794|      1|				     NULL,
  795|      1|				     G_PARAM_READABLE |
  796|      1|				     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  797|       |	/**
  798|       |	 * SoupMessage:first-party: (attributes org.gtk.Property.get=soup_message_get_first_party org.gtk.Property.set=soup_message_set_first_party)
  799|       |	 *
  800|       |	 * The [struct@GLib.Uri] loaded in the application when the message was
  801|       |	 * queued.
  802|       |	 */
  803|      1|        properties[PROP_FIRST_PARTY] =
  804|      1|		g_param_spec_boxed ("first-party",
  805|      1|				    "First party",
  806|      1|				    "The URI loaded in the application when the message was requested.",
  807|      1|				    G_TYPE_URI,
  ------------------
  |  |  310|      1|#define G_TYPE_URI (g_uri_get_type ())
  ------------------
  808|      1|				    G_PARAM_READWRITE |
  809|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  810|       |	/**
  811|       |	 * SoupMessage:site-for-cookies: (attributes org.gtk.Property.get=soup_message_get_site_for_cookies org.gtk.Property.set=soup_message_set_site_for_cookies)
  812|       |	 *
  813|       |	 * Site used to compare cookies against. Used for SameSite cookie support.
  814|       |	 */
  815|      1|        properties[PROP_SITE_FOR_COOKIES] =
  816|      1|		g_param_spec_boxed ("site-for-cookies",
  817|      1|				    "Site for cookies",
  818|      1|				    "The URI for the site to compare cookies against",
  819|      1|				    G_TYPE_URI,
  ------------------
  |  |  310|      1|#define G_TYPE_URI (g_uri_get_type ())
  ------------------
  820|      1|				    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  821|       |	/**
  822|       |	 * SoupMessage:is-top-level-navigation: (attributes org.gtk.Property.get=soup_message_get_is_top_level_navigation org.gtk.Property.set=soup_message_set_is_top_level_navigation)
  823|       |	 *
  824|       |	 * Set when the message is navigating between top level domains.
  825|       |	 */
  826|      1|        properties[PROP_IS_TOP_LEVEL_NAVIGATION] =
  827|      1|		g_param_spec_boolean ("is-top-level-navigation",
  828|      1|				     "Is top-level navigation",
  829|      1|				     "If the current messsage is navigating between top-levels",
  830|      1|				     FALSE,
  ------------------
  |  |  929|      1|#define	FALSE	(0)
  ------------------
  831|      1|				     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  832|       |	/**
  833|       |	 * SoupMessage:request-headers: (attributes org.gtk.Property.get=soup_message_get_request_headers)
  834|       |	 *
  835|       |	 * The HTTP request headers.
  836|       |	 */
  837|      1|        properties[PROP_REQUEST_HEADERS] =
  838|      1|		g_param_spec_boxed ("request-headers",
  839|      1|				    "Request Headers",
  840|      1|				    "The HTTP request headers",
  841|      1|				    SOUP_TYPE_MESSAGE_HEADERS,
  ------------------
  |  |   15|      1|#define SOUP_TYPE_MESSAGE_HEADERS (soup_message_headers_get_type ())
  ------------------
  842|      1|				    G_PARAM_READABLE |
  843|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  844|       |	/**
  845|       |	 * SoupMessage:response-headers: (attributes org.gtk.Property.get=soup_message_get_response_headers)
  846|       |	 *
  847|       |	 * The HTTP response headers.
  848|       |	 */
  849|      1|        properties[PROP_RESPONSE_HEADERS] =
  850|      1|		g_param_spec_boxed ("response-headers",
  851|      1|				    "Response Headers",
  852|      1|				     "The HTTP response headers",
  853|      1|				    SOUP_TYPE_MESSAGE_HEADERS,
  ------------------
  |  |   15|      1|#define SOUP_TYPE_MESSAGE_HEADERS (soup_message_headers_get_type ())
  ------------------
  854|      1|				    G_PARAM_READABLE |
  855|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  856|       |	/**
  857|       |	 * SoupMessage:tls-peer-certificate: (attributes org.gtk.Property.get=soup_message_get_tls_peer_certificate)
  858|       |	 *
  859|       |	 * The peer's [class@Gio.TlsCertificate] associated with the message.
  860|       |	 */
  861|      1|        properties[PROP_TLS_PEER_CERTIFICATE] =
  862|      1|		g_param_spec_object ("tls-peer-certificate",
  863|      1|				     "TLS Peer Certificate",
  864|      1|				     "The TLS peer certificate associated with the message",
  865|      1|				     G_TYPE_TLS_CERTIFICATE,
  ------------------
  |  |   32|      1|#define G_TYPE_TLS_CERTIFICATE            (g_tls_certificate_get_type ())
  ------------------
  866|      1|				     G_PARAM_READABLE |
  867|      1|				     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  868|       |	/**
  869|       |	 * SoupMessage:tls-peer-certificate-errors: (attributes org.gtk.Property.get=soup_message_get_tls_peer_certificate_errors)
  870|       |	 *
  871|       |	 * The verification errors on [property@Message:tls-peer-certificate].
  872|       |	 */
  873|      1|        properties[PROP_TLS_PEER_CERTIFICATE_ERRORS] =
  874|      1|		g_param_spec_flags ("tls-peer-certificate-errors",
  875|      1|				    "TLS Peer Certificate Errors",
  876|      1|				    "The verification errors on the message's TLS peer certificate",
  877|      1|				    G_TYPE_TLS_CERTIFICATE_FLAGS, 0,
  ------------------
  |  |  151|      1|#define G_TYPE_TLS_CERTIFICATE_FLAGS (g_tls_certificate_flags_get_type ())
  ------------------
  878|      1|				    G_PARAM_READABLE |
  879|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  880|       |        /**
  881|       |         * SoupMessage:tls-protocol-version: (attributes org.gtk.Property.get=soup_message_get_tls_protocol_version)
  882|       |         *
  883|       |         * The TLS protocol version negotiated for the message connection.
  884|       |         */
  885|      1|        properties[PROP_TLS_PROTOCOL_VERSION] =
  886|      1|	        g_param_spec_enum ("tls-protocol-version",
  887|      1|                                   "TLS Protocol Version",
  888|      1|                                   "TLS protocol version negotiated for this connection",
  889|      1|                                   G_TYPE_TLS_PROTOCOL_VERSION,
  ------------------
  |  |  175|      1|#define G_TYPE_TLS_PROTOCOL_VERSION (g_tls_protocol_version_get_type ())
  ------------------
  890|      1|                                   G_TLS_PROTOCOL_VERSION_UNKNOWN,
  891|      1|                                   G_PARAM_READABLE |
  892|      1|                                   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  893|       |
  894|       |        /**
  895|       |         * SoupMessage:tls-ciphersuite-name: (attributes org.gtk.Property.get=soup_message_get_tls_ciphersuite_name)
  896|       |         *
  897|       |         * The Name of TLS ciphersuite negotiated for this message connection.
  898|       |         */
  899|      1|        properties[PROP_TLS_CIPHERSUITE_NAME] =
  900|      1|                g_param_spec_string ("tls-ciphersuite-name",
  901|      1|                                     "TLS Ciphersuite Name",
  902|      1|                                     "Name of TLS ciphersuite negotiated for this connection",
  903|      1|                                     NULL,
  904|      1|                                     G_PARAM_READABLE |
  905|      1|                                     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  906|       |
  907|       |        /**
  908|       |         * SoupMessage:remote-address: (attributes org.gtk.Property.get=soup_message_get_remote_address)
  909|       |         *
  910|       |         * The remote [class@Gio.SocketAddress] of the connection associated
  911|       |         * with the message.
  912|       |         */
  913|      1|        properties[PROP_REMOTE_ADDRESS] =
  914|      1|                g_param_spec_object ("remote-address",
  915|      1|                                     "Remote Address",
  916|      1|                                     "The remote address of the connection associated with the message",
  917|      1|                                     G_TYPE_SOCKET_ADDRESS,
  ------------------
  |  |   35|      1|#define G_TYPE_SOCKET_ADDRESS         (g_socket_address_get_type ())
  ------------------
  918|      1|                                     G_PARAM_READABLE |
  919|      1|                                     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  920|       |	/**
  921|       |	 SoupMessage:priority: (attributes org.gtk.Property.get=soup_message_get_priority org.gtk.Property.set=soup_message_set_priority)
  922|       |	 *
  923|       |	 * Sets the priority of the [class@Message]. See
  924|       |	 * [method@Message.set_priority] for further details.
  925|       |	 **/
  926|      1|        properties[PROP_PRIORITY] =
  927|      1|		g_param_spec_enum ("priority",
  928|      1|				   "Priority",
  929|      1|				   "The priority of the message",
  930|      1|				   SOUP_TYPE_MESSAGE_PRIORITY,
  ------------------
  |  |   57|      1|#define SOUP_TYPE_MESSAGE_PRIORITY (soup_message_priority_get_type ())
  ------------------
  931|      1|				   SOUP_MESSAGE_PRIORITY_NORMAL,
  932|      1|				   G_PARAM_READWRITE |
  933|      1|				   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  934|       |
  935|       |	/**
  936|       |	 * SoupMessage:is-options-ping: (attributes org.gtk.Property.get=soup_message_get_is_options_ping org.gtk.Property.set=soup_message_set_is_options_ping)
  937|       |	 *
  938|       |	 * Whether the message is an OPTIONS ping.
  939|       |	 *
  940|       |	 * The [class@Message] is intended to be used to send
  941|       |         * `OPTIONS *` to a server. When set to %TRUE, the
  942|       |         * path of [property@Message:uri] will be ignored and
  943|       |         * [property@Message:method] set to %SOUP_METHOD_OPTIONS.
  944|       |	 */
  945|      1|        properties[PROP_IS_OPTIONS_PING] =
  946|      1|		g_param_spec_boolean ("is-options-ping",
  947|      1|				      "Is Options Ping",
  948|      1|				      "The message is an OPTIONS ping",
  949|      1|                                      FALSE,
  ------------------
  |  |  929|      1|#define	FALSE	(0)
  ------------------
  950|      1|				      G_PARAM_READWRITE |
  951|      1|				      G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  952|       |
  953|      1|        g_object_class_install_properties (object_class, LAST_PROPERTY, properties);
  954|      1|}
soup-message.c:soup_message_finalize:
  178|  8.37k|{
  179|  8.37k|	SoupMessage *msg = SOUP_MESSAGE (object);
  180|  8.37k|	SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
  181|       |
  182|  8.37k|        if (priv->pending_tls_cert_request) {
  ------------------
  |  Branch (182:13): [True: 0, False: 8.37k]
  ------------------
  183|      0|                g_task_return_int (priv->pending_tls_cert_request, G_TLS_INTERACTION_FAILED);
  184|      0|                g_object_unref (priv->pending_tls_cert_request);
  185|      0|        }
  186|  8.37k|        g_clear_object (&priv->pending_tls_cert_conn);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  187|       |
  188|  8.37k|        if (priv->pending_tls_cert_pass_request) {
  ------------------
  |  Branch (188:13): [True: 0, False: 8.37k]
  ------------------
  189|      0|                g_task_return_int (priv->pending_tls_cert_pass_request, G_TLS_INTERACTION_FAILED);
  190|      0|                g_object_unref (priv->pending_tls_cert_pass_request);
  191|      0|        }
  192|  8.37k|        g_clear_object (&priv->pending_tls_cert_password);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  193|       |
  194|  8.37k|	soup_message_set_connection (msg, NULL);
  195|  8.37k|        g_weak_ref_clear (&priv->connection);
  196|       |
  197|  8.37k|	g_clear_pointer (&priv->uri, g_uri_unref);
  ------------------
  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.37k|  {                                                      \
  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 8.37k, False: 0]
  |  |  ------------------
  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  144|  8.37k|  }                                                      \
  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  198|  8.37k|	g_clear_pointer (&priv->first_party, g_uri_unref);
  ------------------
  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.37k|  {                                                      \
  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  ------------------
  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  144|  8.37k|  }                                                      \
  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  199|  8.37k|	g_clear_pointer (&priv->site_for_cookies, g_uri_unref);
  ------------------
  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.37k|  {                                                      \
  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  ------------------
  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  144|  8.37k|  }                                                      \
  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  200|  8.37k|        g_clear_pointer (&priv->metrics, soup_message_metrics_free);
  ------------------
  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.37k|  {                                                      \
  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  ------------------
  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  144|  8.37k|  }                                                      \
  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  201|  8.37k|        g_clear_pointer (&priv->tls_ciphersuite_name, g_free);
  ------------------
  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.37k|  {                                                      \
  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  ------------------
  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  144|  8.37k|  }                                                      \
  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  202|       |
  203|  8.37k|	g_clear_object (&priv->auth);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  204|  8.37k|	g_clear_object (&priv->proxy_auth);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  205|       |
  206|  8.37k|	g_clear_pointer (&priv->disabled_features, g_hash_table_destroy);
  ------------------
  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.37k|  {                                                      \
  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  ------------------
  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  144|  8.37k|  }                                                      \
  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  207|       |
  208|  8.37k|	g_clear_object (&priv->tls_peer_certificate);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  209|  8.37k|        g_clear_object (&priv->remote_address);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  210|  8.37k|        g_clear_object (&priv->tls_client_certificate);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  211|       |
  212|  8.37k|	soup_message_headers_unref (priv->request_headers);
  213|  8.37k|	soup_message_headers_unref (priv->response_headers);
  214|  8.37k|	g_clear_object (&priv->request_body_stream);
  ------------------
  |  |  695|  8.37k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.37k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.37k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.37k|  {                                                      \
  |  |  |  |  138|  8.37k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.37k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.37k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.37k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.37k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.37k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.37k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.37k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.37k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.37k|  }                                                      \
  |  |  |  |  145|  8.37k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.37k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.37k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  215|       |
  216|  8.37k|	g_free (priv->reason_phrase);
  217|       |
  218|  8.37k|	G_OBJECT_CLASS (soup_message_parent_class)->finalize (object);
  ------------------
  |  |   61|  8.37k|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|  8.37k|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2657|  8.37k|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  219|  8.37k|}
soup-message.c:soup_message_set_property:
  224|  16.7k|{
  225|  16.7k|	SoupMessage *msg = SOUP_MESSAGE (object);
  226|       |
  227|  16.7k|	switch (prop_id) {
  228|  8.37k|	case PROP_METHOD:
  ------------------
  |  Branch (228:2): [True: 8.37k, False: 8.37k]
  ------------------
  229|  8.37k|                soup_message_set_method (msg, g_value_get_string (value));
  230|  8.37k|		break;
  231|  8.37k|	case PROP_URI:
  ------------------
  |  Branch (231:2): [True: 8.37k, False: 8.37k]
  ------------------
  232|  8.37k|		soup_message_set_uri (msg, g_value_get_boxed (value));
  233|  8.37k|		break;
  234|      0|	case PROP_SITE_FOR_COOKIES:
  ------------------
  |  Branch (234:2): [True: 0, False: 16.7k]
  ------------------
  235|      0|		soup_message_set_site_for_cookies (msg, g_value_get_boxed (value));
  236|      0|		break;
  237|      0|	case PROP_IS_TOP_LEVEL_NAVIGATION:
  ------------------
  |  Branch (237:2): [True: 0, False: 16.7k]
  ------------------
  238|      0|		soup_message_set_is_top_level_navigation (msg, g_value_get_boolean (value));
  239|      0|		break;
  240|      0|	case PROP_FLAGS:
  ------------------
  |  Branch (240:2): [True: 0, False: 16.7k]
  ------------------
  241|      0|		soup_message_set_flags (msg, g_value_get_flags (value));
  242|      0|		break;
  243|      0|	case PROP_FIRST_PARTY:
  ------------------
  |  Branch (243:2): [True: 0, False: 16.7k]
  ------------------
  244|      0|		soup_message_set_first_party (msg, g_value_get_boxed (value));
  245|      0|		break;
  246|      0|	case PROP_PRIORITY:
  ------------------
  |  Branch (246:2): [True: 0, False: 16.7k]
  ------------------
  247|      0|                soup_message_set_priority (msg, g_value_get_enum (value));
  248|      0|		break;
  249|      0|	case PROP_IS_OPTIONS_PING:
  ------------------
  |  Branch (249:2): [True: 0, False: 16.7k]
  ------------------
  250|      0|                soup_message_set_is_options_ping (msg, g_value_get_boolean (value));
  251|      0|		break;
  252|      0|	default:
  ------------------
  |  Branch (252:2): [True: 0, False: 16.7k]
  ------------------
  253|      0|		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
  ------------------
  |  |  691|      0|    G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), (pspec))
  |  |  ------------------
  |  |  |  |  668|      0|#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|      0|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  669|      0|G_STMT_START { \
  |  |  |  |  670|      0|  GObject *_glib__object = (GObject*) (object); \
  |  |  |  |  671|      0|  GParamSpec *_glib__pspec = (GParamSpec*) (pspec); \
  |  |  |  |  672|      0|  guint _glib__property_id = (property_id); \
  |  |  |  |  673|      0|  g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'", \
  |  |  |  |  ------------------
  |  |  |  |  |  |  362|      0|#define g_warning(...)  g_log (G_LOG_DOMAIN,         \
  |  |  |  |  |  |  363|      0|                               G_LOG_LEVEL_WARNING,  \
  |  |  |  |  |  |  364|      0|                               __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  674|      0|             __FILE__, __LINE__, \
  |  |  |  |  675|      0|             (pname), \
  |  |  |  |  676|      0|             _glib__property_id, \
  |  |  |  |  677|      0|             _glib__pspec->name, \
  |  |  |  |  678|      0|             g_type_name (G_PARAM_SPEC_TYPE (_glib__pspec)), \
  |  |  |  |  679|      0|             G_OBJECT_TYPE_NAME (_glib__object)); \
  |  |  |  |  680|      0|} G_STMT_END
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|      0|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  254|      0|		break;
  255|  16.7k|	}
  256|  16.7k|}
soup-message.c:soup_message_init:
  163|  8.37k|{
  164|  8.37k|	SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
  165|       |
  166|  8.37k|	priv->http_version = priv->orig_http_version = SOUP_HTTP_1_1;
  167|  8.37k|	priv->priority = SOUP_MESSAGE_PRIORITY_NORMAL;
  168|  8.37k|        priv->force_http_version = G_MAXUINT8;
  ------------------
  |  |   76|  8.37k|#define G_MAXUINT8	((guint8) 0xff)
  ------------------
  169|       |
  170|  8.37k|	priv->request_headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_REQUEST);
  171|  8.37k|	priv->response_headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_RESPONSE);
  172|       |
  173|       |        g_weak_ref_init (&priv->connection, NULL);
  174|  8.37k|}

soup-session-feature.c:soup_session_feature_default_init:
   76|      1|{
   77|      1|}

soup_uri_is_valid:
  287|  25.1k|{
  288|  25.1k|        if (!uri)
  ------------------
  |  Branch (288:13): [True: 0, False: 25.1k]
  ------------------
  289|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  290|       |
  291|  25.1k|        if (!is_host_valid (g_uri_get_host (uri)))
  ------------------
  |  Branch (291:13): [True: 0, False: 25.1k]
  ------------------
  292|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  293|       |
  294|       |        /* FIXME: validate other URI components? */
  295|       |
  296|  25.1k|        return TRUE;
  ------------------
  |  |  933|  25.1k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  25.1k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  297|  25.1k|}
soup_uri_copy_with_normalized_flags:
  533|  8.37k|{
  534|  8.37k|        GUriFlags flags = g_uri_get_flags (uri);
  535|       |
  536|       |        /* We require its encoded (hostname encoding optional) */
  537|  8.37k|        if (((flags & (G_URI_FLAGS_ENCODED_PATH | G_URI_FLAGS_ENCODED_QUERY | G_URI_FLAGS_ENCODED_FRAGMENT)) ||
  ------------------
  |  Branch (537:14): [True: 8.37k, False: 0]
  ------------------
  538|      0|             (flags & G_URI_FLAGS_ENCODED)) &&
  ------------------
  |  Branch (538:14): [True: 0, False: 0]
  ------------------
  539|       |            /* And has scheme-based normalization */
  540|  8.37k|            (flags & G_URI_FLAGS_SCHEME_NORMALIZE))
  ------------------
  |  Branch (540:13): [True: 8.37k, False: 0]
  ------------------
  541|  8.37k|                return g_uri_ref (uri);
  542|       |
  543|      0|        return g_uri_build_with_user (
  544|      0|                g_uri_get_flags (uri) | SOUP_HTTP_URI_FLAGS,
  ------------------
  |  |   40|      0|#define SOUP_HTTP_URI_FLAGS (G_URI_FLAGS_HAS_PASSWORD | G_URI_FLAGS_ENCODED_PATH | G_URI_FLAGS_ENCODED_QUERY | G_URI_FLAGS_ENCODED_FRAGMENT | G_URI_FLAGS_SCHEME_NORMALIZE)
  ------------------
  545|      0|                g_uri_get_scheme (uri),
  546|      0|                g_uri_get_user (uri),
  547|      0|                g_uri_get_password (uri),
  548|      0|                g_uri_get_auth_params (uri),
  549|      0|                g_uri_get_host (uri),
  550|      0|                g_uri_get_port (uri),
  551|      0|                g_uri_get_path (uri),
  552|      0|                g_uri_get_query (uri),
  553|      0|                g_uri_get_fragment (uri)
  554|      0|        );
  555|  8.37k|}
soup-uri-utils.c:is_host_valid:
  255|  25.1k|{
  256|  25.1k|        int i;
  257|  25.1k|        gboolean is_valid;
  258|  25.1k|        char *ascii_host = NULL;
  259|       |
  260|  25.1k|        if (!host || !host[0])
  ------------------
  |  Branch (260:13): [True: 0, False: 25.1k]
  |  Branch (260:22): [True: 0, False: 25.1k]
  ------------------
  261|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  262|       |
  263|  25.1k|        if (g_hostname_is_non_ascii (host)) {
  ------------------
  |  Branch (263:13): [True: 0, False: 25.1k]
  ------------------
  264|      0|                ascii_host = g_hostname_to_ascii (host);
  265|      0|                if (!ascii_host)
  ------------------
  |  Branch (265:21): [True: 0, False: 0]
  ------------------
  266|      0|                  return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  267|       |
  268|      0|                host = ascii_host;
  269|      0|        }
  270|       |
  271|  25.1k|        if ((g_ascii_isdigit (host[0]) || strchr (host, ':')) && g_hostname_is_ip_address (host)) {
  ------------------
  |  |   71|  50.2k|  ((g_ascii_table[(guchar) (c)] & G_ASCII_DIGIT) != 0)
  |  |  ------------------
  |  |  |  Branch (71:3): [True: 0, False: 25.1k]
  |  |  ------------------
  ------------------
  |  Branch (271:43): [True: 0, False: 25.1k]
  |  Branch (271:66): [True: 0, False: 0]
  ------------------
  272|      0|                g_free (ascii_host);
  273|      0|                return TRUE;
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  274|      0|        }
  275|       |
  276|  25.1k|        is_valid = TRUE;
  ------------------
  |  |  933|  25.1k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  25.1k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  277|   301k|        for (i = 0; host[i] && is_valid; i++)
  ------------------
  |  Branch (277:21): [True: 276k, False: 25.1k]
  |  Branch (277:32): [True: 276k, False: 0]
  ------------------
  278|   276k|                is_valid = is_valid_character_for_host (host[i]);
  279|       |
  280|  25.1k|        g_free (ascii_host);
  281|       |
  282|  25.1k|        return is_valid;
  283|  25.1k|}
soup-uri-utils.c:is_valid_character_for_host:
  241|   276k|{
  242|   276k|        static const char forbidden_chars[] = { '\t', '\n', '\r', ' ', '#', '/', ':', '<', '>', '?', '@', '[', '\\', ']', '^', '|' };
  243|   276k|        int i;
  244|       |
  245|  4.70M|        for (i = 0; i < G_N_ELEMENTS (forbidden_chars); ++i) {
  ------------------
  |  |  955|  4.70M|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (245:21): [True: 4.42M, False: 276k]
  ------------------
  246|  4.42M|                if (c == forbidden_chars[i])
  ------------------
  |  Branch (246:21): [True: 0, False: 4.42M]
  ------------------
  247|      0|                        return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  248|  4.42M|        }
  249|       |
  250|   276k|        return TRUE;
  ------------------
  |  |  933|   276k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|   276k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  251|   276k|}

soup-content-sniffer.c:g_strdup_inline:
  310|  8.37k|{
  311|  8.37k|  if (__builtin_constant_p (!str) && !str)
  ------------------
  |  Branch (311:7): [True: 4.61k, False: 3.76k]
  |  Branch (311:38): [True: 0, False: 4.61k]
  ------------------
  312|      0|    return NULL;
  313|       |
  314|  8.37k|  if (__builtin_constant_p (!!str) && !!str && __builtin_constant_p (strlen (str)))
  ------------------
  |  Branch (314:7): [True: 4.61k, False: 3.76k]
  |  Branch (314:39): [True: 4.61k, False: 0]
  |  Branch (314:48): [True: 4.61k, False: 0]
  ------------------
  315|  4.61k|    {
  316|  4.61k|      const size_t len = strlen (str) + 1;
  317|  4.61k|      char *dup_str = (char *) g_malloc (len);
  318|  4.61k|      return (char *) memcpy (dup_str, str, len);
  319|  4.61k|    }
  320|       |
  321|  3.76k|  return g_strdup (str);
  322|  8.37k|}
soup-message-headers.c:g_strdup_inline:
  310|  14.3k|{
  311|  14.3k|  if (__builtin_constant_p (!str) && !str)
  ------------------
  |  Branch (311:7): [True: 7.18k, False: 7.18k]
  |  Branch (311:38): [True: 0, False: 7.18k]
  ------------------
  312|      0|    return NULL;
  313|       |
  314|  14.3k|  if (__builtin_constant_p (!!str) && !!str && __builtin_constant_p (strlen (str)))
  ------------------
  |  Branch (314:7): [True: 7.18k, False: 7.18k]
  |  Branch (314:39): [True: 7.18k, False: 0]
  |  Branch (314:48): [True: 0, False: 7.18k]
  ------------------
  315|      0|    {
  316|      0|      const size_t len = strlen (str) + 1;
  317|      0|      char *dup_str = (char *) g_malloc (len);
  318|      0|      return (char *) memcpy (dup_str, str, len);
  319|      0|    }
  320|       |
  321|  14.3k|  return g_strdup (str);
  322|  14.3k|}

soup-content-sniffer.c:soup_content_sniffer_get_type_once:
 1953|      1|#define G_DEFINE_FINAL_TYPE_WITH_CODE(TN, t_n, T_P, _C_)       _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_FINAL) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() GOBJECT_AVAILABLE_MACRO_IN_2_70
  ------------------
  |  | 2338|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2316|      1|type_name##_get_type_once (void) \
  |  |  |  | 2317|      1|{ \
  |  |  |  | 2318|      1|  GType g_define_type_id = \
  |  |  |  | 2319|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2320|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2321|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2322|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2323|      1|                                       sizeof (TypeName), \
  |  |  |  | 2324|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2325|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2326|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_FINAL_TYPE_WITH_CODE(TN, t_n, T_P, _C_)       _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_FINAL) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() GOBJECT_AVAILABLE_MACRO_IN_2_70
  ------------------
  |  | 2329|      1|    }					\
  |  | 2330|      1|  return g_define_type_id; \
  |  | 2331|      1|} /* closes type_name##_get_type_once() */
  ------------------
soup-content-sniffer.c:soup_content_sniffer_class_intern_init:
 2253|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2254|      1|{ \
 2255|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2256|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2256:7): [True: 0, False: 1]
  ------------------
 2257|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2258|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2259|      1|}
soup-message.c:soup_message_get_type_once:
 2047|      1|#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2338|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2316|      1|type_name##_get_type_once (void) \
  |  |  |  | 2317|      1|{ \
  |  |  |  | 2318|      1|  GType g_define_type_id = \
  |  |  |  | 2319|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2320|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2321|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2322|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2323|      1|                                       sizeof (TypeName), \
  |  |  |  | 2324|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2325|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2326|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2329|      1|    }					\
  |  | 2330|      1|  return g_define_type_id; \
  |  | 2331|      1|} /* closes type_name##_get_type_once() */
  ------------------
soup-message.c:soup_message_class_intern_init:
 2253|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2254|      1|{ \
 2255|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2256|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2256:7): [True: 1, False: 0]
  ------------------
 2257|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2258|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2259|      1|}
soup-message.c:SOUP_MESSAGE:
 1611|  25.1k|  G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) {                       \
 1612|  25.1k|    return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); }             \
  ------------------
  |  |  528|  25.1k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  ------------------
  |  |  |  | 2656|  25.1k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  ------------------
  ------------------
soup-message.c:SOUP_IS_MESSAGE:
 1613|  32.3k|  G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) {                           \
 1614|  32.3k|    return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); }                            \
  ------------------
  |  |  541|  32.3k|#define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT ((instance), (g_type)))
  |  |  ------------------
  |  |  |  | 2671|  32.3k|#  define _G_TYPE_CIT(ip, gt)             (G_GNUC_EXTENSION ({ \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  32.3k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  | 2672|  32.3k|  GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
  |  |  |  | 2673|  32.3k|  if (!__inst) \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2673:7): [True: 0, False: 32.3k]
  |  |  |  |  ------------------
  |  |  |  | 2674|  32.3k|    __r = FALSE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  |  | 2675|  32.3k|  else if (__inst->g_class && __inst->g_class->g_type == __t) \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2675:12): [True: 32.3k, False: 0]
  |  |  |  |  |  Branch (2675:31): [True: 32.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 2676|  32.3k|    __r = TRUE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  933|  32.3k|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  929|  32.3k|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2677|  32.3k|  else \
  |  |  |  | 2678|  32.3k|    __r = g_type_check_instance_is_a (__inst, __t); \
  |  |  |  | 2679|  32.3k|  __r; \
  |  |  |  | 2680|  32.3k|}))
  |  |  ------------------
  ------------------
soup-message.c:soup_message_get_instance_private:
 2293|  65.8k|type_name##_get_instance_private (TypeName *self) \
 2294|  65.8k|{ \
 2295|  65.8k|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  975|  65.8k|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2296|  65.8k|} \
soup-message-headers.c:soup_message_headers_get_type_once:
 2462|      1|#define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2486|      1|type_name##_get_type_once (void) \
  |  | 2487|      1|{ \
  |  | 2488|      1|  GType (* _g_register_boxed) \
  |  | 2489|      1|    (const gchar *, \
  |  | 2490|      1|     union \
  |  | 2491|      1|       { \
  |  | 2492|      1|         TypeName * (*do_copy_type) (TypeName *); \
  |  | 2493|      1|         TypeName * (*do_const_copy_type) (const TypeName *); \
  |  | 2494|      1|         GBoxedCopyFunc do_copy_boxed; \
  |  | 2495|      1|       } __attribute__((__transparent_union__)), \
  |  | 2496|      1|     union \
  |  | 2497|      1|       { \
  |  | 2498|      1|         void (* do_free_type) (TypeName *); \
  |  | 2499|      1|         GBoxedFreeFunc do_free_boxed; \
  |  | 2500|      1|       } __attribute__((__transparent_union__)) \
  |  | 2501|      1|    ) = g_boxed_type_register_static; \
  |  | 2502|      1|  GType g_define_type_id = \
  |  | 2503|      1|    _g_register_boxed (g_intern_static_string (#TypeName), copy_func, free_func); \
  |  | 2504|      1|  { /* custom code follows */
  ------------------
              #define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2329|      1|    }					\
  |  | 2330|      1|  return g_define_type_id; \
  |  | 2331|      1|} /* closes type_name##_get_type_once() */
  ------------------
soup-auth.c:soup_auth_get_type_once:
 2047|      1|#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2338|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2316|      1|type_name##_get_type_once (void) \
  |  |  |  | 2317|      1|{ \
  |  |  |  | 2318|      1|  GType g_define_type_id = \
  |  |  |  | 2319|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2320|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2321|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2322|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2323|      1|                                       sizeof (TypeName), \
  |  |  |  | 2324|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2325|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2326|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2329|      1|    }					\
  |  | 2330|      1|  return g_define_type_id; \
  |  | 2331|      1|} /* closes type_name##_get_type_once() */
  ------------------

soup_message_flags_get_type:
  239|      1|{
  240|      1|  static gsize id = 0;
  241|      1|  static const GFlagsValue values[] = {
  242|      1|    { C_FLAGS(SOUP_MESSAGE_NO_REDIRECT), "SOUP_MESSAGE_NO_REDIRECT", "no-redirect" },
  ------------------
  |  |   10|      1|#define C_FLAGS(v) ((guint) v)
  ------------------
  243|      1|    { C_FLAGS(SOUP_MESSAGE_NEW_CONNECTION), "SOUP_MESSAGE_NEW_CONNECTION", "new-connection" },
  ------------------
  |  |   10|      1|#define C_FLAGS(v) ((guint) v)
  ------------------
  244|      1|    { C_FLAGS(SOUP_MESSAGE_IDEMPOTENT), "SOUP_MESSAGE_IDEMPOTENT", "idempotent" },
  ------------------
  |  |   10|      1|#define C_FLAGS(v) ((guint) v)
  ------------------
  245|      1|    { C_FLAGS(SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE), "SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE", "do-not-use-auth-cache" },
  ------------------
  |  |   10|      1|#define C_FLAGS(v) ((guint) v)
  ------------------
  246|      1|    { C_FLAGS(SOUP_MESSAGE_COLLECT_METRICS), "SOUP_MESSAGE_COLLECT_METRICS", "collect-metrics" },
  ------------------
  |  |   10|      1|#define C_FLAGS(v) ((guint) v)
  ------------------
  247|      1|    { 0, NULL, NULL }
  248|      1|  };
  249|       |
  250|      1|  if (g_once_init_enter (&id)) {
  ------------------
  |  |  269|      1|  (G_GNUC_EXTENSION ({                                               \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (269:3): [True: 1, False: 0]
  |  |  ------------------
  |  |  270|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));       \
  |  |  ------------------
  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  271|      1|    (void) (0 ? (gpointer) *(location) : NULL);                      \
  |  |  ------------------
  |  |  |  Branch (271:13): [Folded, False: 1]
  |  |  ------------------
  |  |  272|      1|    (!g_atomic_pointer_get (location) &&                             \
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |  |  Branch (272:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  273|      1|     g_once_init_enter (location));                                  \
  |  |  ------------------
  |  |  |  Branch (273:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  274|      1|  }))
  ------------------
  251|      1|    GType tmp = g_flags_register_static ("SoupMessageFlags", values);
  252|      1|    g_once_init_leave (&id, tmp);
  ------------------
  |  |  276|      1|  (G_GNUC_EXTENSION ({                                               \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  277|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));       \
  |  |  ------------------
  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  278|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                  \
  |  |  ------------------
  |  |  |  Branch (278:5): [Folded, False: 1]
  |  |  ------------------
  |  |  279|      1|    g_once_init_leave ((location), (gsize) (result));                \
  |  |  280|      1|  }))
  ------------------
  253|      1|  }
  254|       |
  255|      1|  return (GType) id;
  256|      1|}
soup_message_priority_get_type:
  259|      1|{
  260|      1|  static gsize id = 0;
  261|      1|  static const GEnumValue values[] = {
  262|      1|    { C_ENUM(SOUP_MESSAGE_PRIORITY_VERY_LOW), "SOUP_MESSAGE_PRIORITY_VERY_LOW", "very-low" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  263|      1|    { C_ENUM(SOUP_MESSAGE_PRIORITY_LOW), "SOUP_MESSAGE_PRIORITY_LOW", "low" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  264|      1|    { C_ENUM(SOUP_MESSAGE_PRIORITY_NORMAL), "SOUP_MESSAGE_PRIORITY_NORMAL", "normal" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  265|      1|    { C_ENUM(SOUP_MESSAGE_PRIORITY_HIGH), "SOUP_MESSAGE_PRIORITY_HIGH", "high" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  266|      1|    { C_ENUM(SOUP_MESSAGE_PRIORITY_VERY_HIGH), "SOUP_MESSAGE_PRIORITY_VERY_HIGH", "very-high" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  267|      1|    { 0, NULL, NULL }
  268|      1|  };
  269|       |
  270|      1|  if (g_once_init_enter (&id)) {
  ------------------
  |  |  269|      1|  (G_GNUC_EXTENSION ({                                               \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (269:3): [True: 1, False: 0]
  |  |  ------------------
  |  |  270|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));       \
  |  |  ------------------
  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  271|      1|    (void) (0 ? (gpointer) *(location) : NULL);                      \
  |  |  ------------------
  |  |  |  Branch (271:13): [Folded, False: 1]
  |  |  ------------------
  |  |  272|      1|    (!g_atomic_pointer_get (location) &&                             \
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |  |  Branch (272:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  273|      1|     g_once_init_enter (location));                                  \
  |  |  ------------------
  |  |  |  Branch (273:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  274|      1|  }))
  ------------------
  271|      1|    GType tmp = g_enum_register_static ("SoupMessagePriority", values);
  272|      1|    g_once_init_leave (&id, tmp);
  ------------------
  |  |  276|      1|  (G_GNUC_EXTENSION ({                                               \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  277|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));       \
  |  |  ------------------
  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  278|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                  \
  |  |  ------------------
  |  |  |  Branch (278:5): [Folded, False: 1]
  |  |  ------------------
  |  |  279|      1|    g_once_init_leave ((location), (gsize) (result));                \
  |  |  280|      1|  }))
  ------------------
  273|      1|  }
  274|       |
  275|      1|  return (GType) id;
  276|      1|}
soup_http_version_get_type:
  372|      1|{
  373|      1|  static gsize id = 0;
  374|      1|  static const GEnumValue values[] = {
  375|      1|    { C_ENUM(SOUP_HTTP_1_0), "SOUP_HTTP_1_0", "http-1-0" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  376|      1|    { C_ENUM(SOUP_HTTP_1_1), "SOUP_HTTP_1_1", "http-1-1" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  377|      1|    { C_ENUM(SOUP_HTTP_2_0), "SOUP_HTTP_2_0", "http-2-0" },
  ------------------
  |  |    9|      1|#define C_ENUM(v) ((gint) v)
  ------------------
  378|      1|    { 0, NULL, NULL }
  379|      1|  };
  380|       |
  381|      1|  if (g_once_init_enter (&id)) {
  ------------------
  |  |  269|      1|  (G_GNUC_EXTENSION ({                                               \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  |  Branch (269:3): [True: 1, False: 0]
  |  |  ------------------
  |  |  270|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));       \
  |  |  ------------------
  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  271|      1|    (void) (0 ? (gpointer) *(location) : NULL);                      \
  |  |  ------------------
  |  |  |  Branch (271:13): [Folded, False: 1]
  |  |  ------------------
  |  |  272|      1|    (!g_atomic_pointer_get (location) &&                             \
  |  |  ------------------
  |  |  |  |  127|      2|  (G_GNUC_EXTENSION ({                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  |  128|      2|    G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  129|      2|    glib_typeof (*(atomic)) gapg_temp_newval;                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  130|      2|    glib_typeof ((atomic)) gapg_temp_atomic = (atomic);                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      1|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  131|      2|    __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
  |  |  |  |  132|      2|    gapg_temp_newval;                                                      \
  |  |  |  |  133|      2|  }))
  |  |  ------------------
  |  |  |  Branch (272:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  273|      1|     g_once_init_enter (location));                                  \
  |  |  ------------------
  |  |  |  Branch (273:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  274|      1|  }))
  ------------------
  382|      1|    GType tmp = g_enum_register_static ("SoupHTTPVersion", values);
  383|      1|    g_once_init_leave (&id, tmp);
  ------------------
  |  |  276|      1|  (G_GNUC_EXTENSION ({                                               \
  |  |  ------------------
  |  |  |  |   62|      1|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  277|      1|    G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer));       \
  |  |  ------------------
  |  |  |  |  872|      1|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  278|      1|    0 ? (void) (*(location) = (result)) : (void) 0;                  \
  |  |  ------------------
  |  |  |  Branch (278:5): [Folded, False: 1]
  |  |  ------------------
  |  |  279|      1|    g_once_init_leave ((location), (gsize) (result));                \
  |  |  280|      1|  }))
  ------------------
  384|      1|  }
  385|       |
  386|      1|  return (GType) id;
  387|      1|}

