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

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

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.30k|{
  814|  8.30k|	const char *content_type;
  815|  8.30k|	const char *x_content_type_options;
  816|  8.30k|	char *sniffed_type = NULL;
  817|  8.30k|	gboolean no_sniff = FALSE;
  ------------------
  |  |  929|  8.30k|#define	FALSE	(0)
  ------------------
  818|       |
  819|  8.30k|	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.30k|	x_content_type_options = soup_message_headers_get_one_common (soup_message_get_response_headers (msg), SOUP_HEADER_X_CONTENT_TYPE_OPTIONS);
  824|  8.30k|	if (!g_strcmp0 (x_content_type_options, "nosniff"))
  ------------------
  |  Branch (824:6): [True: 0, False: 8.30k]
  ------------------
  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.30k|	if ((content_type == NULL) ||
  ------------------
  |  Branch (828:6): [True: 1.18k, False: 7.12k]
  ------------------
  829|  7.12k|	    !g_ascii_strcasecmp (content_type, "unknown/unknown") ||
  ------------------
  |  Branch (829:6): [True: 0, False: 7.12k]
  ------------------
  830|  7.12k|	    !g_ascii_strcasecmp (content_type, "application/unknown") ||
  ------------------
  |  Branch (830:6): [True: 1.18k, False: 5.93k]
  ------------------
  831|  5.93k|	    !g_ascii_strcasecmp (content_type, "*/*"))
  ------------------
  |  Branch (831:6): [True: 0, False: 5.93k]
  ------------------
  832|  2.37k|		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.93k|	if (no_sniff)
  ------------------
  |  Branch (835:6): [True: 0, False: 5.93k]
  ------------------
  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.93k|	if ((content_type != NULL) &&
  ------------------
  |  Branch (839:6): [True: 5.93k, False: 0]
  ------------------
  840|  5.93k|	    (g_str_equal (content_type, "text/plain") ||
  ------------------
  |  |  175|  11.8k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 1.18k, False: 4.74k]
  |  |  ------------------
  ------------------
  841|  4.74k|	     g_str_equal (content_type, "text/plain; charset=ISO-8859-1") ||
  ------------------
  |  |  175|  10.6k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.74k]
  |  |  ------------------
  ------------------
  842|  4.74k|	     g_str_equal (content_type, "text/plain; charset=iso-8859-1") ||
  ------------------
  |  |  175|  10.6k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.74k]
  |  |  ------------------
  ------------------
  843|  4.74k|	     g_str_equal (content_type, "text/plain; charset=UTF-8")))
  ------------------
  |  |  175|  4.74k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.74k]
  |  |  ------------------
  ------------------
  844|  1.18k|		return sniff_text_or_binary (sniffer, buffer);
  845|       |
  846|       |	/* 4. XML types sent by the server are always used. */
  847|  4.74k|	if (g_str_has_suffix (content_type, "+xml") ||
  ------------------
  |  |  184|  9.49k|  (__builtin_constant_p (SUFFIX)?                                             \
  |  |  ------------------
  |  |  |  Branch (184:3): [True: 0, False: 4.74k]
  |  |  |  Branch (184:4): [True: 4.74k, Folded]
  |  |  ------------------
  |  |  185|  9.49k|    G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  4.74k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  186|  4.74k|       const char * const __str = (STR);                                      \
  |  |  187|  4.74k|       const char * const __suffix = (SUFFIX);                                \
  |  |  188|  4.74k|       gboolean __result = FALSE;                                             \
  |  |  ------------------
  |  |  |  |  929|  4.74k|#define	FALSE	(0)
  |  |  ------------------
  |  |  189|  4.74k|                                                                              \
  |  |  190|  4.74k|       if G_UNLIKELY (__str == NULL || __suffix == NULL)                      \
  |  |  ------------------
  |  |  |  | 1249|  4.74k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  4.74k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  4.74k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  4.74k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  4.74k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  14.2k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 0, False: 4.74k]
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  4.74k|      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.74k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  4.74k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  4.74k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  4.74k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  4.74k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  4.74k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  4.74k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  4.74k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1249:27): [True: 0, False: 4.74k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  191|  4.74k|         __result = (g_str_has_suffix) (__str, __suffix);                     \
  |  |  192|  4.74k|       else                                                                   \
  |  |  193|  4.74k|         {                                                                    \
  |  |  194|  4.74k|            const size_t __str_len = strlen (_G_STR_NONNULL (__str));         \
  |  |  ------------------
  |  |  |  |  157|  4.74k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  195|  4.74k|            const size_t __suffix_len = strlen (_G_STR_NONNULL (__suffix));   \
  |  |  ------------------
  |  |  |  |  157|  4.74k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  196|  4.74k|            if (__str_len >= __suffix_len)                                    \
  |  |  ------------------
  |  |  |  Branch (196:17): [True: 4.74k, False: 0]
  |  |  ------------------
  |  |  197|  4.74k|              __result = memcmp (__str + __str_len - __suffix_len,            \
  |  |  198|  4.74k|                                 _G_STR_NONNULL (__suffix),                   \
  |  |  ------------------
  |  |  |  |  157|  4.74k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  199|  4.74k|                                 __suffix_len) == 0;                          \
  |  |  200|  4.74k|         }                                                                    \
  |  |  201|  4.74k|         __result;                                                            \
  |  |  202|  4.74k|    })                                                                        \
  |  |  203|  9.49k|  :                                                                           \
  |  |  204|  9.49k|    (g_str_has_suffix) (STR, SUFFIX)                                          \
  |  |  205|  9.49k|  )
  ------------------
  848|  4.74k|	    !g_ascii_strcasecmp (content_type, "text/xml") ||
  ------------------
  |  Branch (848:6): [True: 1.18k, False: 3.56k]
  ------------------
  849|  3.56k|	    !g_ascii_strcasecmp (content_type, "application/xml"))
  ------------------
  |  Branch (849:6): [True: 0, False: 3.56k]
  ------------------
  850|  1.18k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.18k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  851|       |
  852|       |	/* 5. Distinguish feed from HTML. */
  853|  3.56k|	if (!g_ascii_strcasecmp (content_type, "text/html"))
  ------------------
  |  Branch (853:6): [True: 1.18k, False: 2.37k]
  ------------------
  854|  1.18k|		return sniff_feed_or_html (sniffer, buffer);
  855|       |
  856|       |	/* 6. Image types.
  857|       |	 */
  858|  2.37k|	if (!g_ascii_strncasecmp (content_type, "image/", 6)) {
  ------------------
  |  Branch (858:6): [True: 1.18k, False: 1.18k]
  ------------------
  859|  1.18k|		sniffed_type = sniff_images (sniffer, buffer);
  860|  1.18k|		if (sniffed_type != NULL)
  ------------------
  |  Branch (860:7): [True: 14, False: 1.17k]
  ------------------
  861|     14|			return sniffed_type;
  862|  1.17k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.17k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  863|  1.18k|	}
  864|       |
  865|       |	/* 7. Audio and video types. */
  866|  1.18k|	if (!g_ascii_strncasecmp (content_type, "audio/", 6) ||
  ------------------
  |  Branch (866:6): [True: 0, False: 1.18k]
  ------------------
  867|  1.18k|	    !g_ascii_strncasecmp (content_type, "video/", 6) ||
  ------------------
  |  Branch (867:6): [True: 1.18k, False: 0]
  ------------------
  868|  1.18k|	    !g_ascii_strcasecmp (content_type, "application/ogg")) {
  ------------------
  |  Branch (868:6): [True: 0, False: 0]
  ------------------
  869|  1.18k|	        sniffed_type = sniff_audio_video (sniffer, buffer);
  870|  1.18k|	        if (sniffed_type != NULL)
  ------------------
  |  Branch (870:14): [True: 10, False: 1.17k]
  ------------------
  871|     10|		        return sniffed_type;
  872|  1.17k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.17k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  873|  1.18k|        }
  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.18k|{
  920|  1.18k|	return g_object_new (SOUP_TYPE_CONTENT_SNIFFER, NULL);
  ------------------
  |  |   13|  1.18k|#define SOUP_TYPE_CONTENT_SNIFFER (soup_content_sniffer_get_type ())
  ------------------
  921|  1.18k|}
soup-content-sniffer.c:soup_content_sniffer_class_init:
  899|      1|{
  900|      1|}
soup-content-sniffer.c:soup_content_sniffer_init:
   81|  1.18k|{
   82|  1.18k|}
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.93k|{
  512|  2.93k|	char *sniffed_type = NULL;
  513|  2.93k|	gsize resource_length;
  514|  2.93k|	const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  515|  2.93k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  2.93k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 43, False: 2.88k]
  |  |  ------------------
  ------------------
  516|  2.93k|	guint i;
  517|       |
  518|  2.93k|        if (resource_length == 0)
  ------------------
  |  Branch (518:13): [True: 0, False: 2.93k]
  ------------------
  519|      0|                return g_strdup ("text/plain");
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  520|       |
  521|  69.1k|	for (i = 0; i < G_N_ELEMENTS (types_table); i++) {
  ------------------
  |  |  955|  69.1k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (521:14): [True: 66.3k, False: 2.81k]
  ------------------
  522|  66.3k|		SoupContentSnifferPattern *type_row = &(types_table[i]);
  523|       |
  524|  66.3k|		if (!sniff_scriptable && type_row->scriptable)
  ------------------
  |  Branch (524:7): [True: 0, False: 66.3k]
  |  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.3k|		if (resource_length == 0)
  ------------------
  |  Branch (528:7): [True: 0, False: 66.3k]
  ------------------
  529|      0|			continue;
  530|       |
  531|  66.3k|		if (type_row->has_ws) {
  ------------------
  |  Branch (531:7): [True: 52.1k, False: 14.1k]
  ------------------
  532|  52.1k|			guint index_stream = 0;
  533|  52.1k|			guint index_pattern = 0;
  534|  52.1k|			gboolean skip_row = FALSE;
  ------------------
  |  |  929|  52.1k|#define	FALSE	(0)
  ------------------
  535|       |
  536|   215k|			while ((index_stream < resource_length - 1) &&
  ------------------
  |  Branch (536:11): [True: 212k, False: 2.55k]
  ------------------
  537|   212k|			       (index_pattern <= type_row->pattern_length)) {
  ------------------
  |  Branch (537:11): [True: 212k, False: 276]
  ------------------
  538|       |				/* Skip insignificant white space ("WS" in the spec) */
  539|   212k|				if (type_row->pattern[index_pattern] == ' ') {
  ------------------
  |  Branch (539:9): [True: 125k, False: 87.0k]
  ------------------
  540|   125k|					if (resource[index_stream] == '\x09' ||
  ------------------
  |  Branch (540:10): [True: 16.1k, False: 109k]
  ------------------
  541|   109k|					    resource[index_stream] == '\x0a' ||
  ------------------
  |  Branch (541:10): [True: 17.3k, False: 91.9k]
  ------------------
  542|  91.9k|					    resource[index_stream] == '\x0c' ||
  ------------------
  |  Branch (542:10): [True: 2.45k, False: 89.4k]
  ------------------
  543|  89.4k|					    resource[index_stream] == '\x0d' ||
  ------------------
  |  Branch (543:10): [True: 13.7k, False: 75.7k]
  ------------------
  544|  75.7k|					    resource[index_stream] == '\x20')
  ------------------
  |  Branch (544:10): [True: 25.8k, False: 49.9k]
  ------------------
  545|  75.4k|						index_stream++;
  546|  49.9k|					else
  547|  49.9k|						index_pattern++;
  548|   125k|				} else {
  549|  87.0k|					if ((type_row->mask[index_pattern] & resource[index_stream]) != type_row->pattern[index_pattern]) {
  ------------------
  |  Branch (549:10): [True: 49.2k, False: 37.8k]
  ------------------
  550|  49.2k|						skip_row = TRUE;
  ------------------
  |  |  933|  49.2k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  49.2k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  551|  49.2k|						break;
  552|  49.2k|					}
  553|  37.8k|					index_pattern++;
  554|  37.8k|					index_stream++;
  555|  37.8k|				}
  556|   212k|			}
  557|       |
  558|  52.1k|			if (skip_row)
  ------------------
  |  Branch (558:8): [True: 49.2k, False: 2.83k]
  ------------------
  559|  49.2k|				continue;
  560|       |
  561|  2.83k|			if (index_pattern > type_row->pattern_length) {
  ------------------
  |  Branch (561:8): [True: 375, False: 2.45k]
  ------------------
  562|    375|				if (type_row->has_tag_termination &&
  ------------------
  |  Branch (562:9): [True: 354, False: 21]
  ------------------
  563|    354|				    resource[index_stream] != '\x20' &&
  ------------------
  |  Branch (563:9): [True: 316, False: 38]
  ------------------
  564|    316|				    resource[index_stream] != '\x3E')
  ------------------
  |  Branch (564:9): [True: 287, False: 29]
  ------------------
  565|    287|					continue;
  566|       |
  567|     88|				return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     88|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  568|    375|			}
  569|  14.1k|		} else {
  570|  14.1k|			guint j;
  571|       |
  572|  14.1k|			if (resource_length < type_row->pattern_length)
  ------------------
  |  Branch (572:8): [True: 3.29k, False: 10.8k]
  ------------------
  573|  3.29k|				continue;
  574|       |
  575|  11.1k|			for (j = 0; j < type_row->pattern_length; j++) {
  ------------------
  |  Branch (575:16): [True: 11.1k, False: 34]
  ------------------
  576|  11.1k|				if ((type_row->mask[j] & resource[j]) != type_row->pattern[j])
  ------------------
  |  Branch (576:9): [True: 10.8k, False: 282]
  ------------------
  577|  10.8k|					break;
  578|  11.1k|			}
  579|       |
  580|       |			/* This means our comparison above matched completely */
  581|  10.8k|			if (j == type_row->pattern_length)
  ------------------
  |  Branch (581:8): [True: 34, False: 10.8k]
  ------------------
  582|     34|				return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     34|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  583|  10.8k|		}
  584|  66.3k|	}
  585|       |
  586|  2.81k|	sniffed_type = sniff_images (sniffer, buffer);
  587|       |
  588|  2.81k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (588:6): [True: 40, False: 2.77k]
  ------------------
  589|     40|		return sniffed_type;
  590|       |
  591|  2.77k|	sniffed_type = sniff_audio_video (sniffer, buffer);
  592|       |
  593|  2.77k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (593:6): [True: 15, False: 2.75k]
  ------------------
  594|     15|		return sniffed_type;
  595|       |
  596|  64.9k|	for (i = 0; i < resource_length; i++) {
  ------------------
  |  Branch (596:14): [True: 63.7k, False: 1.16k]
  ------------------
  597|  63.7k|		if (byte_looks_binary[resource[i]])
  ------------------
  |  Branch (597:7): [True: 1.58k, False: 62.2k]
  ------------------
  598|  1.58k|			return g_strdup ("application/octet-stream");
  ------------------
  |  |  324|  1.58k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  599|  63.7k|	}
  600|       |
  601|  1.16k|	return g_strdup ("text/plain");
  ------------------
  |  |  324|  1.16k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  602|  2.75k|}
soup-content-sniffer.c:sniff_text_or_binary:
  607|  1.18k|{
  608|  1.18k|	gsize resource_length;
  609|  1.18k|	const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  610|  1.18k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  1.18k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 15, False: 1.17k]
  |  |  ------------------
  ------------------
  611|  1.18k|	gboolean looks_binary = FALSE;
  ------------------
  |  |  929|  1.18k|#define	FALSE	(0)
  ------------------
  612|  1.18k|	int i;
  613|       |
  614|       |	/* 2. Detecting UTF-16BE, UTF-16LE BOMs means it's text/plain */
  615|  1.18k|	if (resource_length >= 2) {
  ------------------
  |  Branch (615:6): [True: 1.18k, False: 3]
  ------------------
  616|  1.18k|		if ((resource[0] == 0xFE && resource[1] == 0xFF) ||
  ------------------
  |  Branch (616:8): [True: 17, False: 1.16k]
  |  Branch (616:31): [True: 3, False: 14]
  ------------------
  617|  1.18k|		    (resource[0] == 0xFF && resource[1] == 0xFE))
  ------------------
  |  Branch (617:8): [True: 24, False: 1.15k]
  |  Branch (617:31): [True: 5, False: 19]
  ------------------
  618|      8|			return g_strdup ("text/plain");
  ------------------
  |  |  324|      8|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  619|  1.18k|	}
  620|       |
  621|       |	/* 3. UTF-8 BOM. */
  622|  1.17k|	if (resource_length >= 3) {
  ------------------
  |  Branch (622:6): [True: 1.11k, False: 66]
  ------------------
  623|  1.11k|		if (resource[0] == 0xEF && resource[1] == 0xBB && resource[2] == 0xBF)
  ------------------
  |  Branch (623:7): [True: 39, False: 1.07k]
  |  Branch (623:30): [True: 26, False: 13]
  |  Branch (623:53): [True: 10, False: 16]
  ------------------
  624|     10|			return g_strdup ("text/plain");
  ------------------
  |  |  324|     10|#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.2k|	for (i = 0; i < resource_length; i++) {
  ------------------
  |  Branch (628:14): [True: 27.6k, False: 611]
  ------------------
  629|  27.6k|		if (byte_looks_binary[resource[i]]) {
  ------------------
  |  Branch (629:7): [True: 558, False: 27.1k]
  ------------------
  630|    558|			looks_binary = TRUE;
  ------------------
  |  |  933|    558|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    558|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  631|    558|			break;
  632|    558|		}
  633|  27.6k|	}
  634|       |
  635|  1.16k|	if (!looks_binary)
  ------------------
  |  Branch (635:6): [True: 611, False: 558]
  ------------------
  636|    611|		return g_strdup ("text/plain");
  ------------------
  |  |  324|    611|#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|    558|	return sniff_unknown (sniffer, buffer, TRUE);
  ------------------
  |  |  933|    558|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    558|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  642|  1.16k|}
soup-content-sniffer.c:sniff_feed_or_html:
  665|  1.18k|{
  666|  1.18k|	gsize resource_length;
  667|  1.18k|	const char *resource = g_bytes_get_data (buffer, &resource_length);
  668|  1.18k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  1.18k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 15, False: 1.17k]
  |  |  ------------------
  ------------------
  669|  1.18k|	gsize pos = 0;
  670|       |
  671|  1.18k|	if (resource_length < 3)
  ------------------
  |  Branch (671:6): [True: 68, False: 1.11k]
  ------------------
  672|     68|		goto text_html;
  673|       |
  674|       |	/* Skip a leading UTF-8 BOM */
  675|  1.11k|	if ((guchar)resource[0] == 0xEF && (guchar)resource[1] == 0xBB && (guchar)resource[2] == 0xBF)
  ------------------
  |  Branch (675:6): [True: 39, False: 1.08k]
  |  Branch (675:37): [True: 26, False: 13]
  |  Branch (675:68): [True: 10, False: 16]
  ------------------
  676|     10|		pos = 3;
  677|       |
  678|  2.29k| look_for_tag:
  679|  2.29k|	if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (679:6): [True: 48, False: 2.24k]
  ------------------
  680|     48|		goto text_html;
  681|       |
  682|  2.24k|	if (resource[pos] != '<')
  ------------------
  |  Branch (682:6): [True: 288, False: 1.95k]
  ------------------
  683|    288|		return g_strdup ("text/html");
  ------------------
  |  |  324|    288|#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: 12, False: 1.94k]
  ------------------
  688|     12|		goto text_html;
  689|       |
  690|       |	/* Skip comments. */
  691|  1.94k|	if (data_has_prefix (resource + pos, "!--", resource_length - pos)) {
  ------------------
  |  Branch (691:6): [True: 210, False: 1.73k]
  ------------------
  692|    210|		pos = pos + 3;
  693|       |
  694|    210|		if ((pos + 2) > resource_length)
  ------------------
  |  Branch (694:7): [True: 11, False: 199]
  ------------------
  695|     11|			goto text_html;
  696|       |
  697|  3.91k|		while (!data_has_prefix (resource + pos, "-->", resource_length - pos)) {
  ------------------
  |  Branch (697:10): [True: 3.77k, False: 134]
  ------------------
  698|  3.77k|			pos++;
  699|       |
  700|  3.77k|			if ((pos + 2) > resource_length)
  ------------------
  |  Branch (700:8): [True: 65, False: 3.71k]
  ------------------
  701|     65|				goto text_html;
  702|  3.77k|		}
  703|       |
  704|    134|		pos = pos + 3;
  705|       |
  706|    134|		goto look_for_tag;
  707|    199|	}
  708|       |
  709|  1.73k|	if (pos > resource_length)
  ------------------
  |  Branch (709:6): [True: 0, False: 1.73k]
  ------------------
  710|      0|		goto text_html;
  711|       |
  712|  1.73k|	if (resource[pos] == '!') {
  ------------------
  |  Branch (712:6): [True: 810, False: 923]
  ------------------
  713|  10.8k|		do {
  714|  10.8k|			pos++;
  715|       |
  716|  10.8k|			if ((pos + 1) > resource_length)
  ------------------
  |  Branch (716:8): [True: 60, False: 10.7k]
  ------------------
  717|     60|				goto text_html;
  718|  10.8k|		} while (resource[pos] != '>');
  ------------------
  |  Branch (718:12): [True: 10.0k, False: 750]
  ------------------
  719|       |
  720|    750|		pos++;
  721|       |
  722|    750|		goto look_for_tag;
  723|    923|	} else if (resource[pos] == '?') {
  ------------------
  |  Branch (723:13): [True: 361, False: 562]
  ------------------
  724|  4.89k|		do {
  725|  4.89k|			pos++;
  726|       |
  727|  4.89k|			if ((pos + 1) > resource_length)
  ------------------
  |  Branch (727:8): [True: 73, False: 4.82k]
  ------------------
  728|     73|				goto text_html;
  729|  4.89k|		} while (!data_has_prefix (resource + pos, "?>", resource_length - pos));
  ------------------
  |  Branch (729:12): [True: 4.53k, False: 288]
  ------------------
  730|       |
  731|    288|		pos = pos + 2;
  732|       |
  733|    288|		goto look_for_tag;
  734|    361|	}
  735|       |
  736|    562|	if ((pos + 3) > resource_length)
  ------------------
  |  Branch (736:6): [True: 55, False: 507]
  ------------------
  737|     55|		goto text_html;
  738|       |
  739|    507|	if (data_has_prefix (resource + pos, "rss", resource_length - pos))
  ------------------
  |  Branch (739:6): [True: 2, False: 505]
  ------------------
  740|      2|		return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      2|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  741|       |
  742|    505|	if ((pos + 4) > resource_length)
  ------------------
  |  Branch (742:6): [True: 91, False: 414]
  ------------------
  743|     91|		goto text_html;
  744|       |
  745|    414|	if (data_has_prefix (resource + pos, "feed", resource_length - pos))
  ------------------
  |  Branch (745:6): [True: 1, False: 413]
  ------------------
  746|      1|		return g_strdup ("application/atom+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  747|       |
  748|    413|	if ((pos + 7) > resource_length)
  ------------------
  |  Branch (748:6): [True: 20, False: 393]
  ------------------
  749|     20|		goto text_html;
  750|       |
  751|    393|	if (data_has_prefix (resource + pos, "rdf:RDF", resource_length - pos)) {
  ------------------
  |  Branch (751:6): [True: 345, False: 48]
  ------------------
  752|    345|		pos = pos + 7;
  753|       |
  754|    345|		if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (754:7): [True: 29, False: 316]
  ------------------
  755|     29|			goto text_html;
  756|       |
  757|    316|		if ((pos + 32) > resource_length)
  ------------------
  |  Branch (757:7): [True: 55, False: 261]
  ------------------
  758|     55|			goto text_html;
  759|       |
  760|    261|		if (data_has_prefix (resource + pos, "xmlns=\"http://purl.org/rss/1.0/\"", resource_length - pos)) {
  ------------------
  |  Branch (760:7): [True: 84, False: 177]
  ------------------
  761|     84|			pos = pos + 32;
  762|       |
  763|     84|			if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (763:8): [True: 30, False: 54]
  ------------------
  764|     30|				goto text_html;
  765|       |
  766|     54|			if ((pos + 55) > resource_length)
  ------------------
  |  Branch (766:8): [True: 51, False: 3]
  ------------------
  767|     51|				goto text_html;
  768|       |
  769|      3|			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: 2, False: 1]
  ------------------
  770|      2|				return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      2|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  771|      3|		}
  772|       |
  773|    178|		if ((pos + 55) > resource_length)
  ------------------
  |  Branch (773:7): [True: 87, False: 91]
  ------------------
  774|     87|			goto text_html;
  775|       |
  776|     91|		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: 79, False: 12]
  ------------------
  777|     79|			pos = pos + 55;
  778|       |
  779|     79|			if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (779:8): [True: 30, False: 49]
  ------------------
  780|     30|				goto text_html;
  781|       |
  782|     49|			if ((pos + 32) > resource_length)
  ------------------
  |  Branch (782:8): [True: 44, False: 5]
  ------------------
  783|     44|				goto text_html;
  784|       |
  785|      5|			if (data_has_prefix (resource + pos, "xmlns=\"http://purl.org/rss/1.0/\"", resource_length - pos))
  ------------------
  |  Branch (785:8): [True: 1, False: 4]
  ------------------
  786|      1|				return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  787|      5|		}
  788|     91|	}
  789|       |
  790|    893| text_html:
  791|    893|	return g_strdup ("text/html");
  ------------------
  |  |  324|    893|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  792|    393|}
soup-content-sniffer.c:skip_insignificant_space:
  646|  2.79k|{
  647|  2.79k|        if (*pos >= resource_length)
  ------------------
  |  Branch (647:13): [True: 28, False: 2.77k]
  ------------------
  648|     28|	        return TRUE;
  ------------------
  |  |  933|     28|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|     28|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  649|       |
  650|  7.68k|	while ((resource[*pos] == '\x09') ||
  ------------------
  |  Branch (650:9): [True: 1.32k, False: 6.36k]
  ------------------
  651|  6.36k|	       (resource[*pos] == '\x20') ||
  ------------------
  |  Branch (651:9): [True: 1.32k, False: 5.03k]
  ------------------
  652|  5.03k|	       (resource[*pos] == '\x0A') ||
  ------------------
  |  Branch (652:9): [True: 1.25k, False: 3.78k]
  ------------------
  653|  5.02k|	       (resource[*pos] == '\x0D')) {
  ------------------
  |  Branch (653:9): [True: 1.11k, False: 2.66k]
  ------------------
  654|  5.02k|		*pos = *pos + 1;
  655|       |
  656|  5.02k|		if (*pos >= resource_length)
  ------------------
  |  Branch (656:7): [True: 109, False: 4.91k]
  ------------------
  657|    109|			return TRUE;
  ------------------
  |  |  933|    109|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    109|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  658|  5.02k|	}
  659|       |
  660|  2.66k|	return FALSE;
  ------------------
  |  |  929|  2.66k|#define	FALSE	(0)
  ------------------
  661|  2.77k|}
soup-content-sniffer.c:data_has_prefix:
  233|  16.5k|{
  234|  16.5k|        if (strlen (prefix) > max_length)
  ------------------
  |  Branch (234:13): [True: 202, False: 16.3k]
  ------------------
  235|    202|                return FALSE;
  ------------------
  |  |  929|    202|#define	FALSE	(0)
  ------------------
  236|       |
  237|  16.3k|        return memcmp (data, prefix, strlen (prefix)) == 0;
  238|  16.5k|}
soup-content-sniffer.c:sniff_images:
  178|  3.99k|{
  179|  3.99k|	return sniff_media (sniffer,
  180|  3.99k|			    buffer,
  181|  3.99k|			    image_types_table,
  182|  3.99k|			    G_N_ELEMENTS (image_types_table));
  ------------------
  |  |  955|  3.99k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  183|  3.99k|}
soup-content-sniffer.c:sniff_media:
   96|  7.95k|{
   97|       |
   98|  7.95k|        gsize resource_length;
   99|  7.95k|        const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  100|  7.95k|        resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  7.95k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 110, False: 7.84k]
  |  |  ------------------
  ------------------
  101|  7.95k|	int i;
  102|       |
  103|  71.0k|	for (i = 0; i < table_length; i++) {
  ------------------
  |  Branch (103:14): [True: 63.2k, False: 7.88k]
  ------------------
  104|  63.2k|		SoupContentSnifferMediaPattern *type_row = &(table[i]);
  105|  63.2k|		guint j;
  106|       |
  107|  63.2k|		if (resource_length < type_row->pattern_length)
  ------------------
  |  Branch (107:7): [True: 16.6k, False: 46.5k]
  ------------------
  108|  16.6k|			continue;
  109|       |
  110|  49.1k|		for (j = 0; j < type_row->pattern_length; j++) {
  ------------------
  |  Branch (110:15): [True: 49.0k, False: 71]
  ------------------
  111|  49.0k|			if ((type_row->mask[j] & resource[j]) != type_row->pattern[j])
  ------------------
  |  Branch (111:8): [True: 46.5k, False: 2.57k]
  ------------------
  112|  46.5k|				break;
  113|  49.0k|		}
  114|       |
  115|       |		/* This means our comparison above matched completely */
  116|  46.5k|		if (j == type_row->pattern_length)
  ------------------
  |  Branch (116:7): [True: 71, False: 46.5k]
  ------------------
  117|     71|			return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     71|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  118|  46.5k|	}
  119|       |
  120|  7.88k|	return NULL;
  121|  7.95k|}
soup-content-sniffer.c:sniff_audio_video:
  280|  3.95k|{
  281|  3.95k|	char *sniffed_type;
  282|       |
  283|  3.95k|	sniffed_type = sniff_media (sniffer,
  284|  3.95k|				    buffer,
  285|  3.95k|				    audio_video_types_table,
  286|  3.95k|				    G_N_ELEMENTS (audio_video_types_table));
  ------------------
  |  |  955|  3.95k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  287|       |
  288|  3.95k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (288:6): [True: 17, False: 3.94k]
  ------------------
  289|     17|		return sniffed_type;
  290|       |
  291|  3.94k|	if (sniff_mp4 (sniffer, buffer))
  ------------------
  |  Branch (291:6): [True: 8, False: 3.93k]
  ------------------
  292|      8|		return g_strdup ("video/mp4");
  ------------------
  |  |  324|      8|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  293|       |
  294|  3.93k|	return NULL;
  295|  3.94k|}
soup-content-sniffer.c:sniff_mp4:
  242|  3.94k|{
  243|  3.94k|	gsize resource_length;
  244|  3.94k|	const char *resource = g_bytes_get_data (buffer, &resource_length);
  245|  3.94k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  3.94k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 55, False: 3.88k]
  |  |  ------------------
  ------------------
  246|  3.94k|	guint32 box_size;
  247|  3.94k|	guint i;
  248|       |
  249|  3.94k|        if (resource_length < sizeof (guint32))
  ------------------
  |  Branch (249:13): [True: 624, False: 3.31k]
  ------------------
  250|    624|                return FALSE;
  ------------------
  |  |  929|    624|#define	FALSE	(0)
  ------------------
  251|       |
  252|  3.31k|	box_size = *((guint32*)resource);
  253|       |
  254|  3.31k|#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
  255|  3.31k|	box_size = ((box_size >> 24) |
  256|  3.31k|		    ((box_size << 8) & 0x00FF0000) |
  257|  3.31k|		    ((box_size >> 8) & 0x0000FF00) |
  258|  3.31k|		    (box_size << 24));
  259|  3.31k|#endif
  260|       |
  261|  3.31k|	if (resource_length < 12 || resource_length < box_size || box_size % 4 != 0)
  ------------------
  |  Branch (261:6): [True: 1.12k, False: 2.18k]
  |  Branch (261:30): [True: 1.68k, False: 502]
  |  Branch (261:60): [True: 8, False: 494]
  ------------------
  262|  2.82k|		return FALSE;
  ------------------
  |  |  929|  2.82k|#define	FALSE	(0)
  ------------------
  263|       |
  264|    494|	if (!data_has_prefix (resource + 4, "ftyp", resource_length - 4))
  ------------------
  |  Branch (264:6): [True: 57, False: 437]
  ------------------
  265|     57|		return FALSE;
  ------------------
  |  |  929|     57|#define	FALSE	(0)
  ------------------
  266|       |
  267|    437|	if (!data_has_prefix (resource + 8, "mp4", resource_length - 8))
  ------------------
  |  Branch (267:6): [True: 166, False: 271]
  ------------------
  268|    166|		return FALSE;
  ------------------
  |  |  929|    166|#define	FALSE	(0)
  ------------------
  269|       |
  270|  3.50k|	for (i = 16; i < box_size && i < resource_length; i = i + 4) {
  ------------------
  |  Branch (270:15): [True: 3.24k, False: 263]
  |  Branch (270:31): [True: 3.24k, False: 0]
  ------------------
  271|  3.24k|		if (data_has_prefix (resource + i, "mp4", resource_length - i))
  ------------------
  |  Branch (271:7): [True: 8, False: 3.23k]
  ------------------
  272|      8|			return TRUE;
  ------------------
  |  |  933|      8|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      8|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  273|  3.24k|	}
  274|       |
  275|    263|	return FALSE;
  ------------------
  |  |  929|    263|#define	FALSE	(0)
  ------------------
  276|    271|}

soup_message_headers_new:
   76|  16.6k|{
   77|  16.6k|	SoupMessageHeaders *hdrs;
   78|       |
   79|  16.6k|	hdrs = g_atomic_rc_box_new0 (SoupMessageHeaders);
  ------------------
  |  |   75|  16.6k|  ((type *) g_atomic_rc_box_alloc0 (sizeof (type)))
  ------------------
   80|  16.6k|	hdrs->type = type;
   81|  16.6k|	hdrs->encoding = -1;
   82|       |
   83|  16.6k|	return hdrs;
   84|  16.6k|}
soup_message_headers_unref:
  125|  16.6k|{
  126|  16.6k|        g_atomic_rc_box_release_full (hdrs, (GDestroyNotify)soup_message_headers_destroy);
  127|  16.6k|}
soup_message_headers_clear:
  194|  16.6k|{
  195|  16.6k|	guint i;
  196|       |
  197|  16.6k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  16.6k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  16.6k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  16.6k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  16.6k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  16.6k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  16.6k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  16.6k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  16.6k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  16.6k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 16.6k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  16.6k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  16.6k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  16.6k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  16.6k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  16.6k|      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.6k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  16.6k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  16.6k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  16.6k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 16.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  16.6k|      { } \
  |  |  653|  16.6k|    else \
  |  |  654|  16.6k|      { \
  |  |  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.6k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  16.6k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|       |
  199|  16.6k|        if (hdrs->common_headers) {
  ------------------
  |  Branch (199:13): [True: 7.12k, False: 9.49k]
  ------------------
  200|  7.12k|                SoupCommonHeader *hdr_array_common = (SoupCommonHeader *)hdrs->common_headers->data;
  201|       |
  202|  14.2k|                for (i = 0; i < hdrs->common_headers->len; i++) {
  ------------------
  |  Branch (202:29): [True: 7.12k, False: 7.12k]
  ------------------
  203|  7.12k|                        g_free (hdr_array_common[i].value);
  204|  7.12k|                        soup_message_headers_set (hdrs, hdr_array_common[i].name, NULL);
  205|  7.12k|                }
  206|  7.12k|                g_array_set_size (hdrs->common_headers, 0);
  207|  7.12k|        }
  208|       |
  209|  16.6k|        if (hdrs->common_concat)
  ------------------
  |  Branch (209:13): [True: 0, False: 16.6k]
  ------------------
  210|      0|                g_hash_table_remove_all (hdrs->common_concat);
  211|       |
  212|  16.6k|        if (hdrs->uncommon_headers) {
  ------------------
  |  Branch (212:13): [True: 0, False: 16.6k]
  ------------------
  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.6k|	if (hdrs->uncommon_concat)
  ------------------
  |  Branch (222:6): [True: 0, False: 16.6k]
  ------------------
  223|      0|		g_hash_table_remove_all (hdrs->uncommon_concat);
  224|       |
  225|  16.6k|        hdrs->encoding = -1;
  226|  16.6k|        hdrs->content_length = 0;
  227|  16.6k|        hdrs->expectations = 0;
  228|       |        g_clear_pointer (&hdrs->content_type, g_free);
  ------------------
  |  |  136|  16.6k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  16.6k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  16.6k|  {                                                      \
  |  |  138|  16.6k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  16.6k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  16.6k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  16.6k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  16.6k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  16.6k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  16.6k|    *_pp = NULL;                                         \
  |  |  142|  16.6k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 16.6k]
  |  |  ------------------
  |  |  143|  16.6k|      (destroy) (_ptr);                                  \
  |  |  144|  16.6k|  }                                                      \
  |  |  145|  16.6k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  16.6k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  16.6k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  229|  16.6k|}
soup_message_headers_append_common:
  271|  7.12k|{
  272|  7.12k|        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.12k|        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.12k]
  |  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.12k|        if (name == SOUP_HEADER_CONTENT_LENGTH) {
  ------------------
  |  Branch (285:13): [True: 0, False: 7.12k]
  ------------------
  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.12k|        if (trusted_value == SOUP_HEADER_VALUE_UNTRUSTED && !is_valid_header_value (value)) {
  ------------------
  |  Branch (314:13): [True: 7.12k, False: 0]
  |  Branch (314:61): [True: 0, False: 7.12k]
  ------------------
  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.12k|        if (!hdrs->common_headers)
  ------------------
  |  Branch (319:13): [True: 7.12k, False: 0]
  ------------------
  320|  7.12k|                hdrs->common_headers = g_array_sized_new (FALSE, FALSE, sizeof (SoupCommonHeader), 6);
  ------------------
  |  |  929|  7.12k|#define	FALSE	(0)
  ------------------
                              hdrs->common_headers = g_array_sized_new (FALSE, FALSE, sizeof (SoupCommonHeader), 6);
  ------------------
  |  |  929|  7.12k|#define	FALSE	(0)
  ------------------
  321|       |
  322|  7.12k|        header.name = name;
  323|  7.12k|        header.value = g_strdup (value);
  ------------------
  |  |  324|  7.12k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  324|  7.12k|        g_array_append_val (hdrs->common_headers, header);
  ------------------
  |  |   66|  7.12k|#define g_array_append_val(a,v)	  g_array_append_vals (a, &(v), 1)
  ------------------
  325|  7.12k|        if (hdrs->common_concat)
  ------------------
  |  Branch (325:13): [True: 0, False: 7.12k]
  ------------------
  326|      0|                g_hash_table_remove (hdrs->common_concat, GUINT_TO_POINTER (header.name));
  327|       |
  328|  7.12k|        soup_message_headers_set (hdrs, name, value);
  329|  7.12k|        return TRUE;
  ------------------
  |  |  933|  7.12k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.12k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  330|  7.12k|}
soup_message_headers_replace_common:
  414|  7.12k|{
  415|  7.12k|        soup_message_headers_remove_common (hdrs, name);
  416|  7.12k|        soup_message_headers_append_common (hdrs, name, value, trusted_value);
  417|  7.12k|}
soup_message_headers_remove_common:
  513|  7.12k|{
  514|  7.12k|        int index;
  515|       |
  516|  7.12k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  7.12k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.12k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  7.12k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  7.12k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.12k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.12k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.12k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.12k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.12k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.12k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.12k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.12k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.12k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.12k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.12k|      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.12k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.12k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.12k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.12k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7.12k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  7.12k|      { } \
  |  |  653|  7.12k|    else \
  |  |  654|  7.12k|      { \
  |  |  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.12k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.12k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.12k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  517|       |
  518|  7.12k|        if (hdrs->common_headers) {
  ------------------
  |  Branch (518:13): [True: 0, False: 7.12k]
  ------------------
  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.12k|        if (hdrs->common_concat)
  ------------------
  |  Branch (529:13): [True: 0, False: 7.12k]
  ------------------
  530|      0|                g_hash_table_remove (hdrs->common_concat, GUINT_TO_POINTER (name));
  531|       |
  532|       |        soup_message_headers_set (hdrs, name, NULL);
  533|  7.12k|}
soup_message_headers_get_one_common:
  578|  15.4k|{
  579|  15.4k|        SoupCommonHeader *hdr_array;
  580|  15.4k|        int index;
  581|       |
  582|  15.4k|        if (!hdrs->common_headers)
  ------------------
  |  Branch (582:13): [True: 1.18k, False: 14.2k]
  ------------------
  583|  1.18k|                return NULL;
  584|       |
  585|  14.2k|        hdr_array = (SoupCommonHeader *)hdrs->common_headers->data;
  586|  14.2k|        index = find_last_common_header (hdrs->common_headers, name, 0);
  587|       |
  588|  14.2k|        return index == -1 ? NULL : hdr_array[index].value;
  ------------------
  |  Branch (588:16): [True: 7.12k, False: 7.12k]
  ------------------
  589|  15.4k|}
soup_message_headers_get_content_type:
 1726|  8.30k|{
 1727|  8.30k|	g_return_val_if_fail (hdrs, NULL);
  ------------------
  |  |  663|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.30k|      { } \
  |  |  666|  8.30k|    else \
  |  |  667|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1728|       |
 1729|  8.30k|	if (!hdrs->content_type)
  ------------------
  |  Branch (1729:6): [True: 1.18k, False: 7.12k]
  ------------------
 1730|  1.18k|		return NULL;
 1731|       |
 1732|  7.12k|	if (params)
  ------------------
  |  Branch (1732:6): [True: 0, False: 7.12k]
  ------------------
 1733|      0|		parse_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, NULL, params);
 1734|  7.12k|	return hdrs->content_type;
 1735|  8.30k|}
soup_message_headers_set_content_type:
 1751|  7.12k|{
 1752|  7.12k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  7.12k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.12k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  7.12k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  7.12k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.12k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.12k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.12k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.12k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.12k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.12k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.12k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.12k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.12k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.12k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.12k|      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.12k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.12k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.12k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.12k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7.12k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  7.12k|      { } \
  |  |  653|  7.12k|    else \
  |  |  654|  7.12k|      { \
  |  |  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.12k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.12k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.12k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1753|       |
 1754|  7.12k|	set_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, content_type, params);
 1755|  7.12k|}
soup-message-headers.c:soup_message_headers_destroy:
  104|  16.6k|{
  105|  16.6k|        soup_message_headers_clear (hdrs);
  106|  16.6k|        if (hdrs->common_headers)
  ------------------
  |  Branch (106:13): [True: 7.12k, False: 9.49k]
  ------------------
  107|  7.12k|                g_array_free (hdrs->common_headers, TRUE);
  ------------------
  |  |  933|  7.12k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.12k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  108|  16.6k|        g_clear_pointer (&hdrs->common_concat, g_hash_table_destroy);
  ------------------
  |  |  136|  16.6k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  16.6k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  16.6k|  {                                                      \
  |  |  138|  16.6k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  16.6k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  16.6k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  16.6k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  16.6k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  16.6k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  16.6k|    *_pp = NULL;                                         \
  |  |  142|  16.6k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 16.6k]
  |  |  ------------------
  |  |  143|  16.6k|      (destroy) (_ptr);                                  \
  |  |  144|  16.6k|  }                                                      \
  |  |  145|  16.6k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  16.6k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  16.6k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  109|  16.6k|        if (hdrs->uncommon_headers)
  ------------------
  |  Branch (109:13): [True: 0, False: 16.6k]
  ------------------
  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.6k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  16.6k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  16.6k|  {                                                      \
  |  |  138|  16.6k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  16.6k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  16.6k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  16.6k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  16.6k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  16.6k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  16.6k|    *_pp = NULL;                                         \
  |  |  142|  16.6k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 16.6k]
  |  |  ------------------
  |  |  143|  16.6k|      (destroy) (_ptr);                                  \
  |  |  144|  16.6k|  }                                                      \
  |  |  145|  16.6k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  16.6k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 16.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  16.6k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  112|  16.6k|}
soup-message-headers.c:soup_message_headers_set:
  151|  21.3k|{
  152|  21.3k|        switch (name) {
  153|      0|        case SOUP_HEADER_CONTENT_LENGTH:
  ------------------
  |  Branch (153:9): [True: 0, False: 21.3k]
  ------------------
  154|      0|        case SOUP_HEADER_TRANSFER_ENCODING:
  ------------------
  |  Branch (154:9): [True: 0, False: 21.3k]
  ------------------
  155|      0|                hdrs->encoding = -1;
  156|      0|                break;
  157|  21.3k|        case SOUP_HEADER_CONTENT_TYPE:
  ------------------
  |  Branch (157:9): [True: 21.3k, False: 0]
  ------------------
  158|  21.3k|                g_clear_pointer (&hdrs->content_type, g_free);
  ------------------
  |  |  136|  21.3k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  21.3k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  21.3k|  {                                                      \
  |  |  138|  21.3k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  21.3k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  21.3k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  21.3k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  21.3k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  21.3k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  21.3k|    *_pp = NULL;                                         \
  |  |  142|  21.3k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 7.12k, False: 14.2k]
  |  |  ------------------
  |  |  143|  21.3k|      (destroy) (_ptr);                                  \
  |  |  144|  21.3k|  }                                                      \
  |  |  145|  21.3k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  21.3k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 21.3k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  21.3k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  159|  21.3k|                if (value) {
  ------------------
  |  Branch (159:21): [True: 7.12k, False: 14.2k]
  ------------------
  160|  7.12k|                        char *content_type = NULL, *p;
  161|       |
  162|  7.12k|                        parse_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, &content_type, NULL);
  163|  7.12k|                        g_assert (content_type != NULL);
  ------------------
  |  |  275|  7.12k|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.12k|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|  7.12k|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|  7.12k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.12k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.12k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.12k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.12k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.12k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.12k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.12k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.12k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.12k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.12k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.12k|      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.12k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.12k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.12k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.12k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 7.12k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|  7.12k|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|  7.12k|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.12k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.12k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  7.12k|                        p = strpbrk (content_type, " /");
  166|  7.12k|                        if (!p || *p != '/' || strpbrk (p + 1, " /"))
  ------------------
  |  Branch (166:29): [True: 0, False: 7.12k]
  |  Branch (166:35): [True: 0, False: 7.12k]
  |  Branch (166:48): [True: 0, False: 7.12k]
  ------------------
  167|      0|                                g_free (content_type);
  168|  7.12k|                        else
  169|  7.12k|                                hdrs->content_type = content_type;
  170|  7.12k|                }
  171|  21.3k|                break;
  172|  21.3k|        case SOUP_HEADER_EXPECT:
  ------------------
  |  Branch (172:9): [True: 0, False: 21.3k]
  ------------------
  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.3k]
  ------------------
  182|      0|                break;
  183|  21.3k|        }
  184|  21.3k|}
soup-message-headers.c:is_valid_header_value:
  262|  7.12k|{
  263|  7.12k|        return value && strpbrk (value, "\r\n") == NULL;
  ------------------
  |  Branch (263:16): [True: 7.12k, False: 0]
  |  Branch (263:25): [True: 7.12k, False: 0]
  ------------------
  264|  7.12k|}
soup-message-headers.c:find_last_common_header:
  480|  14.2k|{
  481|  14.2k|        SoupCommonHeader *hdr_array = (SoupCommonHeader *)array->data;
  482|  14.2k|        int i;
  483|       |
  484|  21.3k|        for (i = array->len - 1; i >= 0; i--) {
  ------------------
  |  Branch (484:34): [True: 14.2k, False: 7.12k]
  ------------------
  485|  14.2k|                if (hdr_array[i].name == name) {
  ------------------
  |  Branch (485:21): [True: 7.12k, False: 7.12k]
  ------------------
  486|  7.12k|                        if (nth-- == 0)
  ------------------
  |  Branch (486:29): [True: 7.12k, False: 0]
  ------------------
  487|  7.12k|                                return i;
  488|  7.12k|                }
  489|  14.2k|        }
  490|  7.12k|        return -1;
  491|  14.2k|}
soup-message-headers.c:parse_content_foo:
 1591|  7.12k|{
 1592|  7.12k|	const char *header;
 1593|  7.12k|	char *semi;
 1594|  7.12k|        char *equal;
 1595|       |
 1596|  7.12k|	header = soup_message_headers_get_one_common (hdrs, header_name);
 1597|  7.12k|	if (!header)
  ------------------
  |  Branch (1597:6): [True: 0, False: 7.12k]
  ------------------
 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.12k|        equal = strchr (header, '=');
 1604|  7.12k|        semi = strchr (header, ';');
 1605|  7.12k|        if (header_name == SOUP_HEADER_CONTENT_DISPOSITION &&
  ------------------
  |  Branch (1605:13): [True: 0, False: 7.12k]
  ------------------
 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.12k|        } else if (foo) {
  ------------------
  |  Branch (1610:20): [True: 7.12k, False: 0]
  ------------------
 1611|  7.12k|                *foo = g_strdup (header);
  ------------------
  |  |  324|  7.12k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
 1612|  7.12k|                semi = strchr (*foo, ';');
 1613|  7.12k|                if (semi) {
  ------------------
  |  Branch (1613:21): [True: 0, False: 7.12k]
  ------------------
 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.12k|        } 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.12k|	if (!params)
  ------------------
  |  Branch (1626:6): [True: 7.12k, False: 0]
  ------------------
 1627|  7.12k|		return TRUE;
  ------------------
  |  |  933|  7.12k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.12k|#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.12k|{
 1684|  7.12k|	GString *str;
 1685|  7.12k|	GHashTableIter iter;
 1686|  7.12k|	gpointer key, value;
 1687|       |
 1688|  7.12k|	str = g_string_new (foo);
 1689|  7.12k|	if (params) {
  ------------------
  |  Branch (1689:6): [True: 0, False: 7.12k]
  ------------------
 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.12k|	soup_message_headers_replace_common (hdrs, header_name, str->str, SOUP_HEADER_VALUE_UNTRUSTED);
 1703|  7.12k|	g_string_free (str, TRUE);
  ------------------
  |  |  933|  7.12k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.12k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1704|  7.12k|}

soup_message_new:
 1019|  8.30k|{
 1020|  8.30k|	SoupMessage *msg;
 1021|  8.30k|	GUri *uri;
 1022|       |
 1023|  8.30k|	g_return_val_if_fail (method != NULL, NULL);
  ------------------
  |  |  663|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.30k|      { } \
  |  |  666|  8.30k|    else \
  |  |  667|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1024|  8.30k|	g_return_val_if_fail (uri_string != NULL, NULL);
  ------------------
  |  |  663|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.30k|      { } \
  |  |  666|  8.30k|    else \
  |  |  667|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1025|       |
 1026|  8.30k|	uri = g_uri_parse (uri_string, SOUP_HTTP_URI_FLAGS, NULL);
  ------------------
  |  |   40|  8.30k|#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)
  ------------------
 1027|  8.30k|	if (!uri)
  ------------------
  |  Branch (1027:6): [True: 0, False: 8.30k]
  ------------------
 1028|      0|		return NULL;
 1029|       |
 1030|  8.30k|	if (!soup_uri_is_valid (uri)) {
  ------------------
  |  Branch (1030:6): [True: 0, False: 8.30k]
  ------------------
 1031|      0|		g_uri_unref (uri);
 1032|      0|		return NULL;
 1033|      0|	}
 1034|       |
 1035|  8.30k|	msg = soup_message_new_from_uri (method, uri);
 1036|  8.30k|	g_uri_unref (uri);
 1037|  8.30k|	return msg;
 1038|  8.30k|}
soup_message_new_from_uri:
 1051|  8.30k|{
 1052|  8.30k|        g_return_val_if_fail (method != NULL, NULL);
  ------------------
  |  |  663|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.30k|      { } \
  |  |  666|  8.30k|    else \
  |  |  667|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1053|  8.30k|        g_return_val_if_fail (soup_uri_is_valid (uri), NULL);
  ------------------
  |  |  663|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.30k|      { } \
  |  |  666|  8.30k|    else \
  |  |  667|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1054|       |
 1055|  8.30k|	return g_object_new (SOUP_TYPE_MESSAGE,
  ------------------
  |  |   16|  8.30k|#define SOUP_TYPE_MESSAGE (soup_message_get_type ())
  ------------------
 1056|  8.30k|			     "method", method,
 1057|  8.30k|			     "uri", uri,
 1058|       |			     NULL);
 1059|  8.30k|}
soup_message_set_connection:
 1760|  8.30k|{
 1761|  8.30k|	SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
 1762|  8.30k|        SoupConnection *connection = g_weak_ref_get (&priv->connection);
 1763|       |
 1764|  8.30k|        if (connection == conn) {
  ------------------
  |  Branch (1764:13): [True: 8.30k, False: 0]
  ------------------
 1765|  8.30k|                g_clear_object (&connection);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
 1766|  8.30k|                return;
 1767|  8.30k|        }
 1768|       |
 1769|      0|	if (connection) {
  ------------------
  |  Branch (1769:6): [True: 0, False: 0]
  ------------------
 1770|      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))
  ------------------
 1771|       |
 1772|      0|                if (priv->pending_tls_cert_request) {
  ------------------
  |  Branch (1772:21): [True: 0, False: 0]
  ------------------
 1773|      0|                        soup_connection_complete_tls_certificate_request (connection,
 1774|      0|                                                                          priv->tls_client_certificate,
 1775|      0|                                                                          g_steal_pointer (&priv->pending_tls_cert_request));
  ------------------
  |  |  247|      0|#define g_steal_pointer(pp) ((glib_typeof (*pp)) (g_steal_pointer) (pp))
  ------------------
 1776|      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
  |  |  ------------------
  ------------------
 1777|      0|                }
 1778|      0|                soup_connection_set_in_use (connection, FALSE);
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
 1779|      0|                g_object_unref (connection);
 1780|      0|	}
 1781|       |
 1782|      0|        g_weak_ref_set (&priv->connection, conn);
 1783|      0|	if (!conn)
  ------------------
  |  Branch (1783:6): [True: 0, False: 0]
  ------------------
 1784|      0|		return;
 1785|       |
 1786|      0|        soup_connection_set_in_use (conn, TRUE);
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1787|      0|        priv->last_connection_id = soup_connection_get_id (conn);
 1788|       |
 1789|      0|        soup_message_set_tls_peer_certificate (msg,
 1790|      0|                                               soup_connection_get_tls_certificate (conn),
 1791|      0|                                               soup_connection_get_tls_certificate_errors (conn));
 1792|      0|        soup_message_set_tls_protocol_version (msg, soup_connection_get_tls_protocol_version (conn));
 1793|      0|        soup_message_set_tls_ciphersuite_name (msg, soup_connection_get_tls_ciphersuite_name (conn));
 1794|      0|        soup_message_set_remote_address (msg, soup_connection_get_remote_address (conn));
 1795|       |
 1796|      0|        if (priv->tls_client_certificate) {
  ------------------
  |  Branch (1796:13): [True: 0, False: 0]
  ------------------
 1797|      0|                soup_connection_set_tls_client_certificate (conn, priv->tls_client_certificate);
 1798|      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
  |  |  ------------------
  ------------------
 1799|      0|        }
 1800|       |
 1801|      0|	g_signal_connect_object (conn, "event",
 1802|      0|				 G_CALLBACK (re_emit_connection_event),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1803|      0|				 msg, G_CONNECT_SWAPPED);
 1804|      0|	g_signal_connect_object (conn, "accept-certificate",
 1805|      0|				 G_CALLBACK (re_emit_accept_certificate),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1806|      0|				 msg, G_CONNECT_SWAPPED);
 1807|      0|        g_signal_connect_object (conn, "request-certificate",
 1808|      0|                                 G_CALLBACK (re_emit_request_certificate),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1809|      0|                                 msg, G_CONNECT_SWAPPED);
 1810|      0|        g_signal_connect_object (conn, "request-certificate-password",
 1811|      0|                                 G_CALLBACK (re_emit_request_certificate_password),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1812|      0|                                 msg, G_CONNECT_SWAPPED);
 1813|      0|	g_signal_connect_object (conn, "notify::tls-certificate",
 1814|      0|				 G_CALLBACK (re_emit_tls_certificate_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1815|      0|				 msg, G_CONNECT_SWAPPED);
 1816|      0|        g_signal_connect_object (conn, "notify::tls-protocol-version",
 1817|      0|                                 G_CALLBACK (connection_tls_protocol_version_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1818|      0|                                 msg, G_CONNECT_SWAPPED);
 1819|      0|        g_signal_connect_object (conn, "notify::tls-ciphersuite-name",
 1820|      0|                                 G_CALLBACK (connection_tls_ciphersuite_name_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1821|      0|                                 msg, G_CONNECT_SWAPPED);
 1822|      0|        g_signal_connect_object (conn, "notify::remote-address",
 1823|      0|                                 G_CALLBACK (connection_remote_address_changed),
  ------------------
  |  |   73|      0|#define	G_CALLBACK(f)			 ((GCallback) (f))
  ------------------
 1824|      0|                                 msg, G_CONNECT_SWAPPED);
 1825|      0|}
soup_message_set_uri:
 2181|  8.30k|{
 2182|  8.30k|	SoupMessagePrivate *priv;
 2183|  8.30k|        GUri *normalized_uri;
 2184|       |
 2185|  8.30k|	g_return_if_fail (SOUP_IS_MESSAGE (msg));
  ------------------
  |  |  650|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  8.30k|      { } \
  |  |  653|  8.30k|    else \
  |  |  654|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2186|  8.30k|        g_return_if_fail (soup_uri_is_valid (uri));
  ------------------
  |  |  650|  8.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  8.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.30k|      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.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  8.30k|      { } \
  |  |  653|  8.30k|    else \
  |  |  654|  8.30k|      { \
  |  |  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.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2187|       |
 2188|  8.30k|	priv = soup_message_get_instance_private (msg);
 2189|       |
 2190|  8.30k|        normalized_uri = soup_uri_copy_with_normalized_flags (uri);
 2191|  8.30k|        if (!normalized_uri)
  ------------------
  |  Branch (2191:13): [True: 0, False: 8.30k]
  ------------------
 2192|      0|                return;
 2193|       |
 2194|  8.30k|        if (priv->uri) {
  ------------------
  |  Branch (2194:13): [True: 0, False: 8.30k]
  ------------------
 2195|      0|                if (soup_uri_equal (priv->uri, normalized_uri)) {
  ------------------
  |  Branch (2195:21): [True: 0, False: 0]
  ------------------
 2196|      0|                        g_uri_unref (normalized_uri);
 2197|      0|                        return;
 2198|      0|                }
 2199|       |
 2200|      0|                g_uri_unref (priv->uri);
 2201|      0|        }
 2202|       |
 2203|  8.30k|	priv->uri = normalized_uri;
 2204|  8.30k|	g_object_notify_by_pspec (G_OBJECT (msg), properties[PROP_URI]);
  ------------------
  |  |   54|  8.30k|#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
  |  |  ------------------
  |  |  |  |  528|  8.30k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2656|  8.30k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2205|  8.30k|}
soup_message_get_response_headers:
 3096|  23.7k|{
 3097|  23.7k|        SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
 3098|       |
 3099|  23.7k|	g_return_val_if_fail (SOUP_IS_MESSAGE (msg), NULL);
  ------------------
  |  |  663|  23.7k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  23.7k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  23.7k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  23.7k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  23.7k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  23.7k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  23.7k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  23.7k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  23.7k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 23.7k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  23.7k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  23.7k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  23.7k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  23.7k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  23.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|  23.7k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  23.7k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  23.7k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  23.7k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 23.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  23.7k|      { } \
  |  |  666|  23.7k|    else \
  |  |  667|  23.7k|      { \
  |  |  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.7k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  23.7k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 23.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3100|       |
 3101|  23.7k|        return priv->response_headers; 
 3102|  23.7k|}
soup_message_set_method:
 3134|  8.30k|{
 3135|  8.30k|        SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
 3136|  8.30k|        const char *new_method = g_intern_string (method);
 3137|       |
 3138|  8.30k|        if (priv->method == new_method)
  ------------------
  |  Branch (3138:13): [True: 0, False: 8.30k]
  ------------------
 3139|      0|                return;
 3140|       |
 3141|  8.30k|        priv->method = new_method;
 3142|  8.30k|        g_object_notify_by_pspec (G_OBJECT (msg), properties[PROP_METHOD]);
  ------------------
  |  |   54|  8.30k|#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
  |  |  ------------------
  |  |  |  |  528|  8.30k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2656|  8.30k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3143|  8.30k|}
soup-message.c:soup_message_class_init:
  347|      1|{
  348|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|       |
  350|       |	/* virtual method override */
  351|      1|	object_class->finalize = soup_message_finalize;
  352|      1|	object_class->set_property = soup_message_set_property;
  353|      1|	object_class->get_property = soup_message_get_property;
  354|       |
  355|       |	/* signals */
  356|       |
  357|       |	/**
  358|       |	 * SoupMessage::wrote-headers:
  359|       |	 * @msg: the message
  360|       |	 *
  361|       |	 * Emitted immediately after writing the request headers for a
  362|       |	 * message.
  363|       |	 **/
  364|      1|	signals[WROTE_HEADERS] =
  365|      1|		g_signal_new ("wrote-headers",
  366|      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)
  |  |  ------------------
  ------------------
  367|      1|			      G_SIGNAL_RUN_FIRST,
  368|      1|			      0,
  369|      1|			      NULL, NULL,
  370|      1|			      NULL,
  371|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  372|       |
  373|       |	/**
  374|       |	 * SoupMessage::wrote-body-data:
  375|       |	 * @msg: the message
  376|       |	 * @chunk_size: the number of bytes written
  377|       |	 *
  378|       |	 * Emitted immediately after writing a portion of the message
  379|       |	 * body to the network.
  380|       |	 **/
  381|      1|	signals[WROTE_BODY_DATA] =
  382|      1|		g_signal_new ("wrote-body-data",
  383|      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)
  |  |  ------------------
  ------------------
  384|      1|			      G_SIGNAL_RUN_FIRST,
  385|      1|			      0,
  386|      1|			      NULL, NULL,
  387|      1|			      NULL,
  388|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  389|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|       |
  391|       |	/**
  392|       |	 * SoupMessage::wrote-body:
  393|       |	 * @msg: the message
  394|       |	 *
  395|       |	 * Emitted immediately after writing the complete body for a
  396|       |	 * message.
  397|       |	 **/
  398|      1|	signals[WROTE_BODY] =
  399|      1|		g_signal_new ("wrote-body",
  400|      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)
  |  |  ------------------
  ------------------
  401|      1|			      G_SIGNAL_RUN_FIRST,
  402|      1|			      0,
  403|      1|			      NULL, NULL,
  404|      1|			      NULL,
  405|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  406|       |
  407|       |	/**
  408|       |	 * SoupMessage::got-informational:
  409|       |	 * @msg: the message
  410|       |	 *
  411|       |	 * Emitted after receiving a 1xx (Informational) response for
  412|       |	 * a (client-side) message.
  413|       |	 *
  414|       |	 * The response_headers will be filled in with the headers associated
  415|       |	 * with the informational response; however, those header values will be
  416|       |	 * erased after this signal is done.
  417|       |	 *
  418|       |	 * If you cancel or requeue @msg while processing this signal,
  419|       |	 * then the current HTTP I/O will be stopped after this signal
  420|       |	 * emission finished, and @msg's connection will be closed.
  421|       |	 **/
  422|      1|	signals[GOT_INFORMATIONAL] =
  423|      1|		g_signal_new ("got-informational",
  424|      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)
  |  |  ------------------
  ------------------
  425|      1|			      G_SIGNAL_RUN_FIRST,
  426|      1|			      0,
  427|      1|			      NULL, NULL,
  428|      1|			      NULL,
  429|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|       |
  431|       |	/**
  432|       |	 * SoupMessage::got-headers:
  433|       |	 * @msg: the message
  434|       |	 *
  435|       |	 * Emitted after receiving the Status-Line and response headers.
  436|       |	 *
  437|       |	 * See also [method@Message.add_header_handler] and
  438|       |	 * [method@Message.add_status_code_handler], which can be used to
  439|       |	 * connect to a subset of emissions of this signal.
  440|       |	 *
  441|       |	 * If you cancel or requeue @msg while processing this signal,
  442|       |	 * then the current HTTP I/O will be stopped after this signal
  443|       |	 * emission finished, and @msg's connection will be closed.
  444|       |	 * (If you need to requeue a message--eg, after handling
  445|       |	 * authentication or redirection--it is usually better to
  446|       |	 * requeue it from a [signal@Message::got-body] handler rather
  447|       |	 * than a [signal@Message::got_headers] handler, so that the
  448|       |	 * existing HTTP connection can be reused.)
  449|       |	 **/
  450|      1|	signals[GOT_HEADERS] =
  451|      1|		g_signal_new ("got-headers",
  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, 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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|       |
  459|       |        /**
  460|       |         * SoupMessage::got-body-data:
  461|       |         * @msg: the message
  462|       |         * @chunk_size: the number of bytes read
  463|       |         *
  464|       |         * Emitted after reading a portion of the message
  465|       |         * body from the network.
  466|       |         *
  467|       |         * Since: 3.4
  468|       |         */
  469|      1|        signals[GOT_BODY_DATA] =
  470|      1|                g_signal_new ("got-body-data",
  471|      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)
  |  |  ------------------
  ------------------
  472|      1|                              G_SIGNAL_RUN_FIRST,
  473|      1|                              0,
  474|      1|                              NULL, NULL,
  475|      1|                              NULL,
  476|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  477|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  478|       |
  479|       |	/**
  480|       |	 * SoupMessage::got-body:
  481|       |	 * @msg: the message
  482|       |	 *
  483|       |	 * Emitted after receiving the complete message response body.
  484|       |	 **/
  485|      1|	signals[GOT_BODY] =
  486|      1|		g_signal_new ("got-body",
  487|      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)
  |  |  ------------------
  ------------------
  488|      1|			      G_SIGNAL_RUN_FIRST,
  489|      1|			      0,
  490|      1|			      NULL, NULL,
  491|      1|			      NULL,
  492|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|       |
  494|       |	/**
  495|       |	 * SoupMessage::content-sniffed:
  496|       |	 * @msg: the message
  497|       |	 * @type: the content type that we got from sniffing
  498|       |	 * @params: (element-type utf8 utf8): a #GHashTable with the parameters
  499|       |	 *
  500|       |	 * This signal is emitted after [signal@Message::got-headers].
  501|       |	 *
  502|       |	 * If content sniffing is disabled, or no content sniffing will be
  503|       |	 * performed, due to the sniffer deciding to trust the
  504|       |	 * Content-Type sent by the server, this signal is emitted
  505|       |	 * immediately after [signal@Message::got-headers], and @type is
  506|       |	 * %NULL.
  507|       |	 **/
  508|      1|	signals[CONTENT_SNIFFED] =
  509|      1|		g_signal_new ("content-sniffed",
  510|      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)
  |  |  ------------------
  ------------------
  511|      1|			      G_SIGNAL_RUN_FIRST,
  512|      1|			      0,
  513|      1|			      NULL, NULL,
  514|      1|			      NULL,
  515|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  516|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  517|      1|			      G_TYPE_HASH_TABLE);
  ------------------
  |  |   89|      1|#define G_TYPE_HASH_TABLE (g_hash_table_get_type ())
  ------------------
  518|       |
  519|       |	/**
  520|       |	 * SoupMessage::starting:
  521|       |	 * @msg: the message
  522|       |	 *
  523|       |	 * Emitted just before a message is sent.
  524|       |	 */
  525|      1|	signals[STARTING] =
  526|      1|		g_signal_new ("starting",
  527|      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)
  |  |  ------------------
  ------------------
  528|      1|			      G_SIGNAL_RUN_FIRST,
  529|      1|			      0,
  530|      1|			      NULL, NULL,
  531|      1|			      NULL,
  532|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  533|       |
  534|       |	/**
  535|       |	 * SoupMessage::restarted:
  536|       |	 * @msg: the message
  537|       |	 *
  538|       |	 * Emitted when a request that was already sent once is now
  539|       |	 * being sent again.
  540|       |	 *
  541|       |	 * e.g. because the first attempt received a
  542|       |	 * redirection response, or because we needed to use
  543|       |	 * authentication.
  544|       |	 **/
  545|      1|	signals[RESTARTED] =
  546|      1|		g_signal_new ("restarted",
  547|      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)
  |  |  ------------------
  ------------------
  548|      1|			      G_SIGNAL_RUN_FIRST,
  549|      1|			      0,
  550|      1|			      NULL, NULL,
  551|      1|			      NULL,
  552|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  553|       |
  554|       |	/**
  555|       |	 * SoupMessage::finished:
  556|       |	 * @msg: the message
  557|       |	 *
  558|       |	 * Emitted when all HTTP processing is finished for a message.
  559|       |	 *
  560|       |	 * (After [signal@Message::got_body]).
  561|       |	 **/
  562|      1|	signals[FINISHED] =
  563|      1|		g_signal_new ("finished",
  564|      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)
  |  |  ------------------
  ------------------
  565|      1|			      G_SIGNAL_RUN_FIRST,
  566|      1|			      0,
  567|      1|			      NULL, NULL,
  568|      1|			      NULL,
  569|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|       |
  571|       |	/**
  572|       |	 * SoupMessage::authenticate:
  573|       |	 * @msg: the message
  574|       |	 * @auth: the #SoupAuth to authenticate
  575|       |	 * @retrying: %TRUE if this is the second (or later) attempt
  576|       |	 *
  577|       |	 * Emitted when the message requires authentication.
  578|       |	 *
  579|       |	 * If credentials are available call [method@Auth.authenticate] on
  580|       |	 * @auth. If these credentials fail, the signal will be emitted again,
  581|       |	 * with @retrying set to %TRUE, which will continue until you return
  582|       |	 * without calling [method@Auth.authenticate] on @auth.
  583|       |	 *
  584|       |	 * Note that this may be emitted before @msg's body has been
  585|       |	 * fully read.
  586|       |	 *
  587|       |	 * You can authenticate @auth asynchronously by calling
  588|       |	 * [method@GObject.Object.ref] on @auth and returning %TRUE. The operation will
  589|       |	 * complete once either [method@Auth.authenticate] or
  590|       |	 * [method@Auth.cancel] are called.
  591|       |	 *
  592|       |	 * Returns: %TRUE to stop other handlers from being invoked
  593|       |	 *   or %FALSE to propagate the event further.
  594|       |	 **/
  595|      1|	signals[AUTHENTICATE] =
  596|      1|		g_signal_new ("authenticate",
  597|      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)
  |  |  ------------------
  ------------------
  598|      1|			      G_SIGNAL_RUN_LAST,
  599|      1|			      0,
  600|      1|			      g_signal_accumulator_true_handled, NULL,
  601|      1|			      NULL,
  602|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  603|      1|			      SOUP_TYPE_AUTH,
  ------------------
  |  |   13|      1|#define SOUP_TYPE_AUTH (soup_auth_get_type())
  ------------------
  604|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  605|       |
  606|       |	/**
  607|       |	 * SoupMessage::network-event:
  608|       |	 * @msg: the message
  609|       |	 * @event: the network event
  610|       |	 * @connection: the current state of the network connection
  611|       |	 *
  612|       |	 * Emitted to indicate that some network-related event
  613|       |	 * related to @msg has occurred.
  614|       |	 *
  615|       |	 * This essentially proxies the [signal@Gio.SocketClient::event] signal,
  616|       |	 * but only for events that occur while @msg "owns" the connection; if
  617|       |	 * @msg is sent on an existing persistent connection, then this signal
  618|       |	 * will not be emitted. (If you want to force the message to be sent on
  619|       |	 * a new connection, set the %SOUP_MESSAGE_NEW_CONNECTION flag on it.)
  620|       |	 *
  621|       |	 * See [signal@Gio.SocketClient::event] for more information on what
  622|       |	 * the different values of @event correspond to, and what
  623|       |	 * @connection will be in each case.
  624|       |	 **/
  625|      1|	signals[NETWORK_EVENT] =
  626|      1|		g_signal_new ("network-event",
  627|      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)
  |  |  ------------------
  ------------------
  628|      1|			      G_SIGNAL_RUN_FIRST,
  629|      1|			      0,
  630|      1|			      NULL, NULL,
  631|      1|			      NULL,
  632|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  633|      1|			      G_TYPE_SOCKET_CLIENT_EVENT,
  ------------------
  |  |  179|      1|#define G_TYPE_SOCKET_CLIENT_EVENT (g_socket_client_event_get_type ())
  ------------------
  634|      1|			      G_TYPE_IO_STREAM);
  ------------------
  |  |   33|      1|#define G_TYPE_IO_STREAM         (g_io_stream_get_type ())
  ------------------
  635|       |
  636|       |	/**
  637|       |	 * SoupMessage::accept-certificate:
  638|       |	 * @msg: the message
  639|       |	 * @tls_peer_certificate: the peer's #GTlsCertificate
  640|       |	 * @tls_peer_errors: the tls errors of @tls_certificate
  641|       |	 *
  642|       |	 * Emitted during the @msg's connection TLS handshake
  643|       |	 * after an unacceptable TLS certificate has been received.
  644|       |	 *
  645|       |	 * You can return %TRUE to accept @tls_certificate despite
  646|       |	 * @tls_errors.
  647|       |	 *
  648|       |	 * Returns: %TRUE to accept the TLS certificate and stop other
  649|       |	 *   handlers from being invoked, or %FALSE to propagate the
  650|       |	 *   event further.
  651|       |	 */
  652|      1|	signals[ACCEPT_CERTIFICATE] =
  653|      1|		g_signal_new ("accept-certificate",
  654|      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)
  |  |  ------------------
  ------------------
  655|      1|			      G_SIGNAL_RUN_LAST,
  656|      1|			      0,
  657|      1|			      g_signal_accumulator_true_handled, NULL,
  658|      1|			      NULL,
  659|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  660|      1|			      G_TYPE_TLS_CERTIFICATE,
  ------------------
  |  |   32|      1|#define G_TYPE_TLS_CERTIFICATE            (g_tls_certificate_get_type ())
  ------------------
  661|      1|			      G_TYPE_TLS_CERTIFICATE_FLAGS);
  ------------------
  |  |  151|      1|#define G_TYPE_TLS_CERTIFICATE_FLAGS (g_tls_certificate_flags_get_type ())
  ------------------
  662|       |
  663|       |        /**
  664|       |         * SoupMessage::request-certificate:
  665|       |         * @msg: the message
  666|       |         * @tls_connection: the #GTlsClientConnection
  667|       |         *
  668|       |         * Emitted during the @msg's connection TLS handshake when
  669|       |         * @tls_connection requests a certificate from the client.
  670|       |         *
  671|       |         * You can set the client certificate by calling
  672|       |         * [method@Message.set_tls_client_certificate] and returning %TRUE. It's
  673|       |         * possible to handle the request asynchornously by returning %TRUE and
  674|       |         * call [method@Message.set_tls_client_certificate] later once the
  675|       |         * certificate is available. Note that this signal is not emitted if
  676|       |         * [property@Session:tls-interaction] was set, or if
  677|       |         * [method@Message.set_tls_client_certificate] was called before the
  678|       |         * connection TLS handshake started.
  679|       |         *
  680|       |         * Returns: %TRUE to handle the request, or %FALSE to make the connection
  681|       |         *   fail with %G_TLS_ERROR_CERTIFICATE_REQUIRED.
  682|       |         */
  683|      1|        signals[REQUEST_CERTIFICATE] =
  684|      1|                g_signal_new ("request-certificate",
  685|      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)
  |  |  ------------------
  ------------------
  686|      1|                              G_SIGNAL_RUN_LAST,
  687|      1|                              0,
  688|      1|                              g_signal_accumulator_true_handled, NULL,
  689|      1|                              NULL,
  690|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  691|      1|                              G_TYPE_TLS_CLIENT_CONNECTION);
  ------------------
  |  |   32|      1|#define G_TYPE_TLS_CLIENT_CONNECTION                (g_tls_client_connection_get_type ())
  ------------------
  692|       |
  693|       |        /**
  694|       |         * SoupMessage::request-certificate-password:
  695|       |         * @msg: the message
  696|       |         * @tls_password: the #GTlsPassword
  697|       |         *
  698|       |         * Emitted during the @msg's connection TLS handshake when
  699|       |         * @tls_connection requests a certificate password from the client.
  700|       |         *
  701|       |         * You can set the certificate password on @password, then call
  702|       |         * [method@Message.tls_client_certificate_password_request_complete] and
  703|       |         * return %TRUE to handle the signal synchronously. It's possible to
  704|       |         * handle the request asynchornously by calling
  705|       |         * [method@GObject.Object.ref] on @password, then returning %TRUE and
  706|       |         * call
  707|       |         * [method@Message.tls_client_certificate_password_request_complete]
  708|       |         * later after setting the password on @password. Note that this signal
  709|       |         * is not emitted if [property@Session:tls-interaction] was set.
  710|       |         *
  711|       |         * Returns: %TRUE to handle the request, or %FALSE to make the connection
  712|       |         *   fail with %G_TLS_ERROR_CERTIFICATE_REQUIRED.
  713|       |         */
  714|      1|        signals[REQUEST_CERTIFICATE_PASSWORD] =
  715|      1|                g_signal_new ("request-certificate-password",
  716|      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)
  |  |  ------------------
  ------------------
  717|      1|                              G_SIGNAL_RUN_LAST,
  718|      1|                              0,
  719|      1|                              g_signal_accumulator_true_handled, NULL,
  720|      1|                              NULL,
  721|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  722|      1|                              G_TYPE_TLS_PASSWORD);
  ------------------
  |  |   34|      1|#define G_TYPE_TLS_PASSWORD         (g_tls_password_get_type ())
  ------------------
  723|       |
  724|       |	/**
  725|       |	 * SoupMessage::hsts-enforced:
  726|       |	 * @msg: the message
  727|       |	 *
  728|       |	 * Emitted when [class@HSTSEnforcer] has upgraded the protocol
  729|       |	 * for @msg to HTTPS as a result of matching its domain with
  730|       |	 * a HSTS policy.
  731|       |	 **/
  732|      1|	signals[HSTS_ENFORCED] =
  733|      1|		g_signal_new ("hsts-enforced",
  734|      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)
  |  |  ------------------
  ------------------
  735|      1|			      G_SIGNAL_RUN_LAST,
  736|      1|			      0,
  737|      1|			      NULL, NULL,
  738|      1|			      NULL,
  739|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  740|       |
  741|       |        /**
  742|       |         * SoupMessage::request-compression-dictionary:
  743|       |         * @msg: the message
  744|       |         * @request: a #SoupCompressionDictionaryRequest to resolve
  745|       |         *
  746|       |         * Emitted when the server responds with `Content-Encoding: dcb` or
  747|       |         * `Content-Encoding: dcz` and libsoup needs the raw dictionary bytes
  748|       |         * to set up decompression.
  749|       |         *
  750|       |         * Call [method@CompressionDictionaryRequest.set_dictionary] on @request
  751|       |         * to provide the dictionary, or [method@CompressionDictionaryRequest.cancel]
  752|       |         * to abort. Either can be done synchronously inside this handler, or
  753|       |         * asynchronously after calling [method@GObject.Object.ref] on @request
  754|       |         * and returning %TRUE.
  755|       |         *
  756|       |         * Returns: %TRUE to indicate the request will be handled (sync or async),
  757|       |         *   or %FALSE to let other handlers run. If no handler returns %TRUE the
  758|       |         *   response fails.
  759|       |         *
  760|       |         * Since: 3.8
  761|       |         */
  762|      1|        signals[REQUEST_COMPRESSION_DICTIONARY] =
  763|      1|                g_signal_new ("request-compression-dictionary",
  764|      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)
  |  |  ------------------
  ------------------
  765|      1|                              G_SIGNAL_RUN_LAST,
  766|      1|                              0,
  767|      1|                              g_signal_accumulator_true_handled, NULL,
  768|      1|                              NULL,
  769|      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)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  770|      1|                              SOUP_TYPE_COMPRESSION_DICTIONARY_REQUEST);
  ------------------
  |  |   15|      1|#define SOUP_TYPE_COMPRESSION_DICTIONARY_REQUEST (soup_compression_dictionary_request_get_type ())
  ------------------
  771|       |
  772|       |	/**
  773|       |	 * SoupMessage:method: (attributes org.gtk.Property.get=soup_message_get_method org.gtk.Property.set=soup_message_set_method)
  774|       |	 *
  775|       |	 * The message's HTTP method.
  776|       |	 **/
  777|       |	/* properties */
  778|      1|        properties[PROP_METHOD] =
  779|      1|		g_param_spec_string ("method",
  780|      1|				     "Method",
  781|      1|				     "The message's HTTP method",
  782|      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|  }))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  783|      1|				     G_PARAM_READWRITE |
  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:uri: (attributes org.gtk.Property.get=soup_message_get_uri org.gtk.Property.set=soup_message_set_uri)
  787|       |	 *
  788|       |	 * The message's Request-URI.
  789|       |	 **/
  790|      1|        properties[PROP_URI] =
  791|      1|		g_param_spec_boxed ("uri",
  792|      1|				    "URI",
  793|      1|				    "The message's Request-URI",
  794|      1|				    G_TYPE_URI,
  ------------------
  |  |  310|      1|#define G_TYPE_URI (g_uri_get_type ())
  ------------------
  795|      1|				    G_PARAM_READWRITE |
  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:http-version: (attributes org.gtk.Property.get=soup_message_get_http_version)
  799|       |	 *
  800|       |	 * The HTTP protocol version to use.
  801|       |	 **/
  802|      1|        properties[PROP_HTTP_VERSION] =
  803|      1|		g_param_spec_enum ("http-version",
  804|      1|				   "HTTP Version",
  805|      1|				   "The HTTP protocol version to use",
  806|      1|				   SOUP_TYPE_HTTP_VERSION,
  ------------------
  |  |   67|      1|#define SOUP_TYPE_HTTP_VERSION (soup_http_version_get_type ())
  ------------------
  807|      1|				   SOUP_HTTP_1_1,
  808|      1|				   G_PARAM_READABLE |
  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:flags: (attributes org.gtk.Property.get=soup_message_get_flags org.gtk.Property.set=soup_message_set_flags)
  812|       |	 *
  813|       |	 * Various message options.
  814|       |	 **/
  815|      1|        properties[PROP_FLAGS] =
  816|      1|		g_param_spec_flags ("flags",
  817|      1|				    "Flags",
  818|      1|				    "Various message options",
  819|      1|				    SOUP_TYPE_MESSAGE_FLAGS,
  ------------------
  |  |   55|      1|#define SOUP_TYPE_MESSAGE_FLAGS (soup_message_flags_get_type ())
  ------------------
  820|      1|				    0,
  821|      1|				    G_PARAM_READWRITE |
  822|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  823|       |	/**
  824|       |	 * SoupMessage:status-code:
  825|       |	 *
  826|       |	 * The HTTP response status code.
  827|       |	 **/
  828|      1|        properties[PROP_STATUS_CODE] =
  829|      1|		g_param_spec_uint ("status-code",
  830|      1|				   "Status code",
  831|      1|				   "The HTTP response status code",
  832|      1|				   0, 999, 0,
  833|      1|				   G_PARAM_READABLE |
  834|      1|				   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  835|       |	/**
  836|       |	 * SoupMessage:reason-phrase: (attributes org.gtk.Property.get=soup_message_get_reason_phrase)
  837|       |	 *
  838|       |	 * The HTTP response reason phrase.
  839|       |	 **/
  840|      1|        properties[PROP_REASON_PHRASE] =
  841|      1|		g_param_spec_string ("reason-phrase",
  842|      1|				     "Reason phrase",
  843|      1|				     "The HTTP response reason phrase",
  844|      1|				     NULL,
  845|      1|				     G_PARAM_READABLE |
  846|      1|				     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  847|       |	/**
  848|       |	 * SoupMessage:first-party: (attributes org.gtk.Property.get=soup_message_get_first_party org.gtk.Property.set=soup_message_set_first_party)
  849|       |	 *
  850|       |	 * The [struct@GLib.Uri] loaded in the application when the message was
  851|       |	 * queued.
  852|       |	 */
  853|      1|        properties[PROP_FIRST_PARTY] =
  854|      1|		g_param_spec_boxed ("first-party",
  855|      1|				    "First party",
  856|      1|				    "The URI loaded in the application when the message was requested.",
  857|      1|				    G_TYPE_URI,
  ------------------
  |  |  310|      1|#define G_TYPE_URI (g_uri_get_type ())
  ------------------
  858|      1|				    G_PARAM_READWRITE |
  859|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  860|       |	/**
  861|       |	 * 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)
  862|       |	 *
  863|       |	 * Site used to compare cookies against. Used for SameSite cookie support.
  864|       |	 */
  865|      1|        properties[PROP_SITE_FOR_COOKIES] =
  866|      1|		g_param_spec_boxed ("site-for-cookies",
  867|      1|				    "Site for cookies",
  868|      1|				    "The URI for the site to compare cookies against",
  869|      1|				    G_TYPE_URI,
  ------------------
  |  |  310|      1|#define G_TYPE_URI (g_uri_get_type ())
  ------------------
  870|      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)
  ------------------
  871|       |	/**
  872|       |	 * 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)
  873|       |	 *
  874|       |	 * Set when the message is navigating between top level domains.
  875|       |	 */
  876|      1|        properties[PROP_IS_TOP_LEVEL_NAVIGATION] =
  877|      1|		g_param_spec_boolean ("is-top-level-navigation",
  878|      1|				     "Is top-level navigation",
  879|      1|				     "If the current messsage is navigating between top-levels",
  880|      1|				     FALSE,
  ------------------
  |  |  929|      1|#define	FALSE	(0)
  ------------------
  881|      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)
  ------------------
  882|       |	/**
  883|       |	 * SoupMessage:request-headers: (attributes org.gtk.Property.get=soup_message_get_request_headers)
  884|       |	 *
  885|       |	 * The HTTP request headers.
  886|       |	 */
  887|      1|        properties[PROP_REQUEST_HEADERS] =
  888|      1|		g_param_spec_boxed ("request-headers",
  889|      1|				    "Request Headers",
  890|      1|				    "The HTTP request headers",
  891|      1|				    SOUP_TYPE_MESSAGE_HEADERS,
  ------------------
  |  |   15|      1|#define SOUP_TYPE_MESSAGE_HEADERS (soup_message_headers_get_type ())
  ------------------
  892|      1|				    G_PARAM_READABLE |
  893|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  894|       |	/**
  895|       |	 * SoupMessage:response-headers: (attributes org.gtk.Property.get=soup_message_get_response_headers)
  896|       |	 *
  897|       |	 * The HTTP response headers.
  898|       |	 */
  899|      1|        properties[PROP_RESPONSE_HEADERS] =
  900|      1|		g_param_spec_boxed ("response-headers",
  901|      1|				    "Response Headers",
  902|      1|				     "The HTTP response headers",
  903|      1|				    SOUP_TYPE_MESSAGE_HEADERS,
  ------------------
  |  |   15|      1|#define SOUP_TYPE_MESSAGE_HEADERS (soup_message_headers_get_type ())
  ------------------
  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|       |	 * SoupMessage:tls-peer-certificate: (attributes org.gtk.Property.get=soup_message_get_tls_peer_certificate)
  908|       |	 *
  909|       |	 * The peer's [class@Gio.TlsCertificate] associated with the message.
  910|       |	 */
  911|      1|        properties[PROP_TLS_PEER_CERTIFICATE] =
  912|      1|		g_param_spec_object ("tls-peer-certificate",
  913|      1|				     "TLS Peer Certificate",
  914|      1|				     "The TLS peer certificate associated with the message",
  915|      1|				     G_TYPE_TLS_CERTIFICATE,
  ------------------
  |  |   32|      1|#define G_TYPE_TLS_CERTIFICATE            (g_tls_certificate_get_type ())
  ------------------
  916|      1|				     G_PARAM_READABLE |
  917|      1|				     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  918|       |	/**
  919|       |	 * SoupMessage:tls-peer-certificate-errors: (attributes org.gtk.Property.get=soup_message_get_tls_peer_certificate_errors)
  920|       |	 *
  921|       |	 * The verification errors on [property@Message:tls-peer-certificate].
  922|       |	 */
  923|      1|        properties[PROP_TLS_PEER_CERTIFICATE_ERRORS] =
  924|      1|		g_param_spec_flags ("tls-peer-certificate-errors",
  925|      1|				    "TLS Peer Certificate Errors",
  926|      1|				    "The verification errors on the message's TLS peer certificate",
  927|      1|				    G_TYPE_TLS_CERTIFICATE_FLAGS, 0,
  ------------------
  |  |  151|      1|#define G_TYPE_TLS_CERTIFICATE_FLAGS (g_tls_certificate_flags_get_type ())
  ------------------
  928|      1|				    G_PARAM_READABLE |
  929|      1|				    G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  930|       |        /**
  931|       |         * SoupMessage:tls-protocol-version: (attributes org.gtk.Property.get=soup_message_get_tls_protocol_version)
  932|       |         *
  933|       |         * The TLS protocol version negotiated for the message connection.
  934|       |         */
  935|      1|        properties[PROP_TLS_PROTOCOL_VERSION] =
  936|      1|	        g_param_spec_enum ("tls-protocol-version",
  937|      1|                                   "TLS Protocol Version",
  938|      1|                                   "TLS protocol version negotiated for this connection",
  939|      1|                                   G_TYPE_TLS_PROTOCOL_VERSION,
  ------------------
  |  |  175|      1|#define G_TYPE_TLS_PROTOCOL_VERSION (g_tls_protocol_version_get_type ())
  ------------------
  940|      1|                                   G_TLS_PROTOCOL_VERSION_UNKNOWN,
  941|      1|                                   G_PARAM_READABLE |
  942|      1|                                   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  943|       |
  944|       |        /**
  945|       |         * SoupMessage:tls-ciphersuite-name: (attributes org.gtk.Property.get=soup_message_get_tls_ciphersuite_name)
  946|       |         *
  947|       |         * The Name of TLS ciphersuite negotiated for this message connection.
  948|       |         */
  949|      1|        properties[PROP_TLS_CIPHERSUITE_NAME] =
  950|      1|                g_param_spec_string ("tls-ciphersuite-name",
  951|      1|                                     "TLS Ciphersuite Name",
  952|      1|                                     "Name of TLS ciphersuite negotiated for this connection",
  953|      1|                                     NULL,
  954|      1|                                     G_PARAM_READABLE |
  955|      1|                                     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  956|       |
  957|       |        /**
  958|       |         * SoupMessage:remote-address: (attributes org.gtk.Property.get=soup_message_get_remote_address)
  959|       |         *
  960|       |         * The remote [class@Gio.SocketAddress] of the connection associated
  961|       |         * with the message.
  962|       |         */
  963|      1|        properties[PROP_REMOTE_ADDRESS] =
  964|      1|                g_param_spec_object ("remote-address",
  965|      1|                                     "Remote Address",
  966|      1|                                     "The remote address of the connection associated with the message",
  967|      1|                                     G_TYPE_SOCKET_ADDRESS,
  ------------------
  |  |   35|      1|#define G_TYPE_SOCKET_ADDRESS         (g_socket_address_get_type ())
  ------------------
  968|      1|                                     G_PARAM_READABLE |
  969|      1|                                     G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  970|       |	/**
  971|       |	 SoupMessage:priority: (attributes org.gtk.Property.get=soup_message_get_priority org.gtk.Property.set=soup_message_set_priority)
  972|       |	 *
  973|       |	 * Sets the priority of the [class@Message]. See
  974|       |	 * [method@Message.set_priority] for further details.
  975|       |	 **/
  976|      1|        properties[PROP_PRIORITY] =
  977|      1|		g_param_spec_enum ("priority",
  978|      1|				   "Priority",
  979|      1|				   "The priority of the message",
  980|      1|				   SOUP_TYPE_MESSAGE_PRIORITY,
  ------------------
  |  |   57|      1|#define SOUP_TYPE_MESSAGE_PRIORITY (soup_message_priority_get_type ())
  ------------------
  981|      1|				   SOUP_MESSAGE_PRIORITY_NORMAL,
  982|      1|				   G_PARAM_READWRITE |
  983|      1|				   G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
  984|       |
  985|       |	/**
  986|       |	 * 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)
  987|       |	 *
  988|       |	 * Whether the message is an OPTIONS ping.
  989|       |	 *
  990|       |	 * The [class@Message] is intended to be used to send
  991|       |         * `OPTIONS *` to a server. When set to %TRUE, the
  992|       |         * path of [property@Message:uri] will be ignored and
  993|       |         * [property@Message:method] set to %SOUP_METHOD_OPTIONS.
  994|       |	 */
  995|      1|        properties[PROP_IS_OPTIONS_PING] =
  996|      1|		g_param_spec_boolean ("is-options-ping",
  997|      1|				      "Is Options Ping",
  998|      1|				      "The message is an OPTIONS ping",
  999|      1|                                      FALSE,
  ------------------
  |  |  929|      1|#define	FALSE	(0)
  ------------------
 1000|      1|				      G_PARAM_READWRITE |
 1001|      1|				      G_PARAM_STATIC_STRINGS);
  ------------------
  |  |  185|      1|#define	G_PARAM_STATIC_STRINGS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
  ------------------
 1002|       |
 1003|      1|        g_object_class_install_properties (object_class, LAST_PROPERTY, properties);
 1004|      1|}
soup-message.c:soup_message_finalize:
  182|  8.30k|{
  183|  8.30k|	SoupMessage *msg = SOUP_MESSAGE (object);
  184|  8.30k|	SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
  185|       |
  186|  8.30k|        if (priv->pending_tls_cert_request) {
  ------------------
  |  Branch (186:13): [True: 0, False: 8.30k]
  ------------------
  187|      0|                g_task_return_int (priv->pending_tls_cert_request, G_TLS_INTERACTION_FAILED);
  188|      0|                g_object_unref (priv->pending_tls_cert_request);
  189|      0|        }
  190|  8.30k|        g_clear_object (&priv->pending_tls_cert_conn);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  191|       |
  192|  8.30k|        if (priv->pending_tls_cert_pass_request) {
  ------------------
  |  Branch (192:13): [True: 0, False: 8.30k]
  ------------------
  193|      0|                g_task_return_int (priv->pending_tls_cert_pass_request, G_TLS_INTERACTION_FAILED);
  194|      0|                g_object_unref (priv->pending_tls_cert_pass_request);
  195|      0|        }
  196|  8.30k|        g_clear_object (&priv->pending_tls_cert_password);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  197|       |
  198|  8.30k|	soup_message_set_connection (msg, NULL);
  199|  8.30k|        g_weak_ref_clear (&priv->connection);
  200|       |
  201|  8.30k|	g_clear_pointer (&priv->uri, g_uri_unref);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 8.30k, False: 0]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  202|  8.30k|	g_clear_pointer (&priv->first_party, g_uri_unref);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  203|  8.30k|	g_clear_pointer (&priv->site_for_cookies, g_uri_unref);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  204|  8.30k|        g_clear_pointer (&priv->metrics, soup_message_metrics_free);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  205|  8.30k|        g_clear_pointer (&priv->tls_ciphersuite_name, g_free);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  206|       |
  207|  8.30k|	g_clear_object (&priv->auth);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  208|  8.30k|	g_clear_object (&priv->proxy_auth);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  209|       |
  210|  8.30k|	g_clear_pointer (&priv->disabled_features, g_hash_table_destroy);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  211|       |
  212|  8.30k|	g_clear_object (&priv->tls_peer_certificate);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  213|  8.30k|        g_clear_object (&priv->remote_address);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  214|  8.30k|        g_clear_object (&priv->tls_client_certificate);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  215|       |
  216|  8.30k|        g_clear_pointer (&priv->compression_dictionary_hash, g_bytes_unref);
  ------------------
  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  8.30k|  {                                                      \
  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  ------------------
  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  144|  8.30k|  }                                                      \
  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  217|  8.30k|        g_clear_object (&priv->compression_dictionary_request);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  218|       |
  219|  8.30k|	soup_message_headers_unref (priv->request_headers);
  220|  8.30k|	soup_message_headers_unref (priv->response_headers);
  221|  8.30k|	g_clear_object (&priv->request_body_stream);
  ------------------
  |  |  695|  8.30k|#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
  |  |  ------------------
  |  |  |  |  136|  8.30k|  G_STMT_START                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  989|  8.30k|#define G_STMT_START  do
  |  |  |  |  ------------------
  |  |  |  |  137|  8.30k|  {                                                      \
  |  |  |  |  138|  8.30k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  872|  8.30k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  |  |  ------------------
  |  |  |  |  139|  8.30k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  140|  8.30k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|  8.30k|#define glib_typeof(t) __typeof__ (t)
  |  |  |  |  ------------------
  |  |  |  |  141|  8.30k|    *_pp = NULL;                                         \
  |  |  |  |  142|  8.30k|    if (_ptr)                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (142:9): [True: 0, False: 8.30k]
  |  |  |  |  ------------------
  |  |  |  |  143|  8.30k|      (destroy) (_ptr);                                  \
  |  |  |  |  144|  8.30k|  }                                                      \
  |  |  |  |  145|  8.30k|  G_STMT_END                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  997|  8.30k|#define G_STMT_END    while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (997:30): [Folded, False: 8.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  146|  8.30k|  GLIB_AVAILABLE_MACRO_IN_2_34
  |  |  ------------------
  ------------------
  222|       |
  223|  8.30k|	g_free (priv->reason_phrase);
  224|       |
  225|  8.30k|	G_OBJECT_CLASS (soup_message_parent_class)->finalize (object);
  ------------------
  |  |   61|  8.30k|#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
  |  |  ------------------
  |  |  |  |  597|  8.30k|#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
  |  |  |  |  ------------------
  |  |  |  |  |  | 2657|  8.30k|#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) (void *) cp)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  226|  8.30k|}
soup-message.c:soup_message_set_property:
  231|  16.6k|{
  232|  16.6k|	SoupMessage *msg = SOUP_MESSAGE (object);
  233|       |
  234|  16.6k|	switch (prop_id) {
  235|  8.30k|	case PROP_METHOD:
  ------------------
  |  Branch (235:2): [True: 8.30k, False: 8.30k]
  ------------------
  236|  8.30k|                soup_message_set_method (msg, g_value_get_string (value));
  237|  8.30k|		break;
  238|  8.30k|	case PROP_URI:
  ------------------
  |  Branch (238:2): [True: 8.30k, False: 8.30k]
  ------------------
  239|  8.30k|		soup_message_set_uri (msg, g_value_get_boxed (value));
  240|  8.30k|		break;
  241|      0|	case PROP_SITE_FOR_COOKIES:
  ------------------
  |  Branch (241:2): [True: 0, False: 16.6k]
  ------------------
  242|      0|		soup_message_set_site_for_cookies (msg, g_value_get_boxed (value));
  243|      0|		break;
  244|      0|	case PROP_IS_TOP_LEVEL_NAVIGATION:
  ------------------
  |  Branch (244:2): [True: 0, False: 16.6k]
  ------------------
  245|      0|		soup_message_set_is_top_level_navigation (msg, g_value_get_boolean (value));
  246|      0|		break;
  247|      0|	case PROP_FLAGS:
  ------------------
  |  Branch (247:2): [True: 0, False: 16.6k]
  ------------------
  248|      0|		soup_message_set_flags (msg, g_value_get_flags (value));
  249|      0|		break;
  250|      0|	case PROP_FIRST_PARTY:
  ------------------
  |  Branch (250:2): [True: 0, False: 16.6k]
  ------------------
  251|      0|		soup_message_set_first_party (msg, g_value_get_boxed (value));
  252|      0|		break;
  253|      0|	case PROP_PRIORITY:
  ------------------
  |  Branch (253:2): [True: 0, False: 16.6k]
  ------------------
  254|      0|                soup_message_set_priority (msg, g_value_get_enum (value));
  255|      0|		break;
  256|      0|	case PROP_IS_OPTIONS_PING:
  ------------------
  |  Branch (256:2): [True: 0, False: 16.6k]
  ------------------
  257|      0|                soup_message_set_is_options_ping (msg, g_value_get_boolean (value));
  258|      0|		break;
  259|      0|	case PROP_HTTP_VERSION:
  ------------------
  |  Branch (259:2): [True: 0, False: 16.6k]
  ------------------
  260|      0|	case PROP_STATUS_CODE:
  ------------------
  |  Branch (260:2): [True: 0, False: 16.6k]
  ------------------
  261|      0|	case PROP_REASON_PHRASE:
  ------------------
  |  Branch (261:2): [True: 0, False: 16.6k]
  ------------------
  262|      0|	case PROP_REQUEST_HEADERS:
  ------------------
  |  Branch (262:2): [True: 0, False: 16.6k]
  ------------------
  263|      0|	case PROP_RESPONSE_HEADERS:
  ------------------
  |  Branch (263:2): [True: 0, False: 16.6k]
  ------------------
  264|      0|	case PROP_TLS_PEER_CERTIFICATE:
  ------------------
  |  Branch (264:2): [True: 0, False: 16.6k]
  ------------------
  265|      0|	case PROP_TLS_PEER_CERTIFICATE_ERRORS:
  ------------------
  |  Branch (265:2): [True: 0, False: 16.6k]
  ------------------
  266|      0|	case PROP_TLS_PROTOCOL_VERSION:
  ------------------
  |  Branch (266:2): [True: 0, False: 16.6k]
  ------------------
  267|      0|	case PROP_TLS_CIPHERSUITE_NAME:
  ------------------
  |  Branch (267:2): [True: 0, False: 16.6k]
  ------------------
  268|      0|	case PROP_REMOTE_ADDRESS:
  ------------------
  |  Branch (268:2): [True: 0, False: 16.6k]
  ------------------
  269|      0|                g_assert_not_reached ();
  ------------------
  |  |  274|      0|#define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  989|      0|#define G_STMT_START  do
  |  |  ------------------
  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |               #define g_assert_not_reached()          G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|      0|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  270|      0|                break;
  271|      0|	default:
  ------------------
  |  Branch (271:2): [True: 0, False: 16.6k]
  ------------------
  272|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|      0|		break;
  274|  16.6k|	}
  275|  16.6k|}
soup-message.c:soup_message_init:
  167|  8.30k|{
  168|  8.30k|	SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
  169|       |
  170|  8.30k|	priv->http_version = priv->orig_http_version = SOUP_HTTP_1_1;
  171|  8.30k|	priv->priority = SOUP_MESSAGE_PRIORITY_NORMAL;
  172|  8.30k|        priv->force_http_version = G_MAXUINT8;
  ------------------
  |  |   76|  8.30k|#define G_MAXUINT8	((guint8) 0xff)
  ------------------
  173|       |
  174|  8.30k|	priv->request_headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_REQUEST);
  175|  8.30k|	priv->response_headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_RESPONSE);
  176|       |
  177|       |        g_weak_ref_init (&priv->connection, NULL);
  178|  8.30k|}

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

soup_uri_is_valid:
  287|  24.9k|{
  288|  24.9k|        if (!uri)
  ------------------
  |  Branch (288:13): [True: 0, False: 24.9k]
  ------------------
  289|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  290|       |
  291|  24.9k|        if (!is_host_valid (g_uri_get_host (uri)))
  ------------------
  |  Branch (291:13): [True: 0, False: 24.9k]
  ------------------
  292|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  293|       |
  294|       |        /* FIXME: validate other URI components? */
  295|       |
  296|  24.9k|        return TRUE;
  ------------------
  |  |  933|  24.9k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  24.9k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  297|  24.9k|}
soup_uri_copy_with_normalized_flags:
  533|  8.30k|{
  534|  8.30k|        GUriFlags flags = g_uri_get_flags (uri);
  535|       |
  536|       |        /* We require its encoded (hostname encoding optional) */
  537|  8.30k|        if (((flags & (G_URI_FLAGS_ENCODED_PATH | G_URI_FLAGS_ENCODED_QUERY | G_URI_FLAGS_ENCODED_FRAGMENT)) ||
  ------------------
  |  Branch (537:14): [True: 8.30k, False: 0]
  ------------------
  538|      0|             (flags & G_URI_FLAGS_ENCODED)) &&
  ------------------
  |  Branch (538:14): [True: 0, False: 0]
  ------------------
  539|       |            /* And has scheme-based normalization */
  540|  8.30k|            (flags & G_URI_FLAGS_SCHEME_NORMALIZE))
  ------------------
  |  Branch (540:13): [True: 8.30k, False: 0]
  ------------------
  541|  8.30k|                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.30k|}
soup-uri-utils.c:is_host_valid:
  255|  24.9k|{
  256|  24.9k|        int i;
  257|  24.9k|        gboolean is_valid;
  258|  24.9k|        char *ascii_host = NULL;
  259|       |
  260|  24.9k|        if (!host || !host[0])
  ------------------
  |  Branch (260:13): [True: 0, False: 24.9k]
  |  Branch (260:22): [True: 0, False: 24.9k]
  ------------------
  261|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  262|       |
  263|  24.9k|        if (g_hostname_is_non_ascii (host)) {
  ------------------
  |  Branch (263:13): [True: 0, False: 24.9k]
  ------------------
  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|  24.9k|        if ((g_ascii_isdigit (host[0]) || strchr (host, ':')) && g_hostname_is_ip_address (host)) {
  ------------------
  |  |   71|  49.8k|  ((g_ascii_table[(guchar) (c)] & G_ASCII_DIGIT) != 0)
  |  |  ------------------
  |  |  |  Branch (71:3): [True: 0, False: 24.9k]
  |  |  ------------------
  ------------------
  |  Branch (271:43): [True: 0, False: 24.9k]
  |  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|  24.9k|        is_valid = TRUE;
  ------------------
  |  |  933|  24.9k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  24.9k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  277|   299k|        for (i = 0; host[i] && is_valid; i++)
  ------------------
  |  Branch (277:21): [True: 274k, False: 24.9k]
  |  Branch (277:32): [True: 274k, False: 0]
  ------------------
  278|   274k|                is_valid = is_valid_character_for_host (host[i]);
  279|       |
  280|  24.9k|        g_free (ascii_host);
  281|       |
  282|  24.9k|        return is_valid;
  283|  24.9k|}
soup-uri-utils.c:is_valid_character_for_host:
  241|   274k|{
  242|   274k|        static const char forbidden_chars[] = { '\t', '\n', '\r', ' ', '#', '/', ':', '<', '>', '?', '@', '[', '\\', ']', '^', '|' };
  243|   274k|        int i;
  244|       |
  245|  4.66M|        for (i = 0; i < G_N_ELEMENTS (forbidden_chars); ++i) {
  ------------------
  |  |  955|  4.66M|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (245:21): [True: 4.38M, False: 274k]
  ------------------
  246|  4.38M|                if (c == forbidden_chars[i])
  ------------------
  |  Branch (246:21): [True: 0, False: 4.38M]
  ------------------
  247|      0|                        return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  248|  4.38M|        }
  249|       |
  250|   274k|        return TRUE;
  ------------------
  |  |  933|   274k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|   274k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  251|   274k|}

soup-content-sniffer.c:g_strdup_inline:
  310|  8.30k|{
  311|  8.30k|  if (__builtin_constant_p (!str) && !str)
  ------------------
  |  Branch (311:7): [True: 4.57k, False: 3.73k]
  |  Branch (311:38): [True: 0, False: 4.57k]
  ------------------
  312|      0|    return NULL;
  313|       |
  314|  8.30k|  if (__builtin_constant_p (!!str) && !!str && __builtin_constant_p (strlen (str)))
  ------------------
  |  Branch (314:7): [True: 4.57k, False: 3.73k]
  |  Branch (314:39): [True: 4.57k, False: 0]
  |  Branch (314:48): [True: 4.57k, False: 0]
  ------------------
  315|  4.57k|    {
  316|  4.57k|      const size_t len = strlen (str) + 1;
  317|  4.57k|      char *dup_str = (char *) g_malloc (len);
  318|  4.57k|      return (char *) memcpy (dup_str, str, len);
  319|  4.57k|    }
  320|       |
  321|  3.73k|  return g_strdup (str);
  322|  8.30k|}
soup-message-headers.c:g_strdup_inline:
  310|  14.2k|{
  311|  14.2k|  if (__builtin_constant_p (!str) && !str)
  ------------------
  |  Branch (311:7): [True: 7.12k, False: 7.12k]
  |  Branch (311:38): [True: 0, False: 7.12k]
  ------------------
  312|      0|    return NULL;
  313|       |
  314|  14.2k|  if (__builtin_constant_p (!!str) && !!str && __builtin_constant_p (strlen (str)))
  ------------------
  |  Branch (314:7): [True: 7.12k, False: 7.12k]
  |  Branch (314:39): [True: 7.12k, False: 0]
  |  Branch (314:48): [True: 0, False: 7.12k]
  ------------------
  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.2k|  return g_strdup (str);
  322|  14.2k|}

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|  24.9k|  G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) {                       \
 1612|  24.9k|    return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); }             \
  ------------------
  |  |  528|  24.9k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  ------------------
  |  |  |  | 2656|  24.9k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  ------------------
  ------------------
soup-message.c:SOUP_IS_MESSAGE:
 1613|  32.0k|  G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) {                           \
 1614|  32.0k|    return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); }                            \
  ------------------
  |  |  541|  32.0k|#define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT ((instance), (g_type)))
  |  |  ------------------
  |  |  |  | 2671|  32.0k|#  define _G_TYPE_CIT(ip, gt)             (G_GNUC_EXTENSION ({ \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  32.0k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  | 2672|  32.0k|  GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
  |  |  |  | 2673|  32.0k|  if (!__inst) \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2673:7): [True: 0, False: 32.0k]
  |  |  |  |  ------------------
  |  |  |  | 2674|  32.0k|    __r = FALSE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  |  | 2675|  32.0k|  else if (__inst->g_class && __inst->g_class->g_type == __t) \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2675:12): [True: 32.0k, False: 0]
  |  |  |  |  |  Branch (2675:31): [True: 32.0k, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 2676|  32.0k|    __r = TRUE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  933|  32.0k|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  929|  32.0k|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2677|  32.0k|  else \
  |  |  |  | 2678|  32.0k|    __r = g_type_check_instance_is_a (__inst, __t); \
  |  |  |  | 2679|  32.0k|  __r; \
  |  |  |  | 2680|  32.0k|}))
  |  |  ------------------
  ------------------
soup-message.c:soup_message_get_instance_private:
 2293|  65.2k|type_name##_get_instance_private (TypeName *self) \
 2294|  65.2k|{ \
 2295|  65.2k|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  975|  65.2k|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2296|  65.2k|} \
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-compression-dictionary-request.c:soup_compression_dictionary_request_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|}

