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

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

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.51k|{
  814|  8.51k|	const char *content_type;
  815|  8.51k|	const char *x_content_type_options;
  816|  8.51k|	char *sniffed_type = NULL;
  817|  8.51k|	gboolean no_sniff = FALSE;
  ------------------
  |  |  929|  8.51k|#define	FALSE	(0)
  ------------------
  818|       |
  819|  8.51k|	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.51k|	x_content_type_options = soup_message_headers_get_one_common (soup_message_get_response_headers (msg), SOUP_HEADER_X_CONTENT_TYPE_OPTIONS);
  824|  8.51k|	if (!g_strcmp0 (x_content_type_options, "nosniff"))
  ------------------
  |  Branch (824:6): [True: 0, False: 8.51k]
  ------------------
  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.51k|	if ((content_type == NULL) ||
  ------------------
  |  Branch (828:6): [True: 1.21k, False: 7.30k]
  ------------------
  829|  7.30k|	    !g_ascii_strcasecmp (content_type, "unknown/unknown") ||
  ------------------
  |  Branch (829:6): [True: 0, False: 7.30k]
  ------------------
  830|  7.30k|	    !g_ascii_strcasecmp (content_type, "application/unknown") ||
  ------------------
  |  Branch (830:6): [True: 1.21k, False: 6.08k]
  ------------------
  831|  6.08k|	    !g_ascii_strcasecmp (content_type, "*/*"))
  ------------------
  |  Branch (831:6): [True: 0, False: 6.08k]
  ------------------
  832|  2.43k|		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|  6.08k|	if (no_sniff)
  ------------------
  |  Branch (835:6): [True: 0, False: 6.08k]
  ------------------
  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|  6.08k|	if ((content_type != NULL) &&
  ------------------
  |  Branch (839:6): [True: 6.08k, False: 0]
  ------------------
  840|  6.08k|	    (g_str_equal (content_type, "text/plain") ||
  ------------------
  |  |  175|  12.1k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 1.21k, False: 4.86k]
  |  |  ------------------
  ------------------
  841|  4.86k|	     g_str_equal (content_type, "text/plain; charset=ISO-8859-1") ||
  ------------------
  |  |  175|  10.9k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.86k]
  |  |  ------------------
  ------------------
  842|  4.86k|	     g_str_equal (content_type, "text/plain; charset=iso-8859-1") ||
  ------------------
  |  |  175|  10.9k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.86k]
  |  |  ------------------
  ------------------
  843|  4.86k|	     g_str_equal (content_type, "text/plain; charset=UTF-8")))
  ------------------
  |  |  175|  4.86k|#define g_str_equal(v1, v2) (strcmp ((const char *) (v1), (const char *) (v2)) == 0)
  |  |  ------------------
  |  |  |  Branch (175:29): [True: 0, False: 4.86k]
  |  |  ------------------
  ------------------
  844|  1.21k|		return sniff_text_or_binary (sniffer, buffer);
  845|       |
  846|       |	/* 4. XML types sent by the server are always used. */
  847|  4.86k|	if (g_str_has_suffix (content_type, "+xml") ||
  ------------------
  |  |  184|  9.73k|  (__builtin_constant_p (SUFFIX)?                                             \
  |  |  ------------------
  |  |  |  Branch (184:3): [True: 0, False: 4.86k]
  |  |  |  Branch (184:4): [True: 4.86k, Folded]
  |  |  ------------------
  |  |  185|  9.73k|    G_GNUC_EXTENSION ({                                                       \
  |  |  ------------------
  |  |  |  |   62|  4.86k|#define G_GNUC_EXTENSION __extension__
  |  |  ------------------
  |  |  186|  4.86k|       const char * const __str = (STR);                                      \
  |  |  187|  4.86k|       const char * const __suffix = (SUFFIX);                                \
  |  |  188|  4.86k|       gboolean __result = FALSE;                                             \
  |  |  ------------------
  |  |  |  |  929|  4.86k|#define	FALSE	(0)
  |  |  ------------------
  |  |  189|  4.86k|                                                                              \
  |  |  190|  4.86k|       if G_UNLIKELY (__str == NULL || __suffix == NULL)                      \
  |  |  ------------------
  |  |  |  | 1249|  4.86k|#define G_UNLIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 0))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  4.86k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  4.86k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  4.86k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  4.86k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  14.6k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 0, False: 4.86k]
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  4.86k|      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.86k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  4.86k|      G_PASTE (_g_boolean_var_, uniq) = 0;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  4.86k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  4.86k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1245|  4.86k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  4.86k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  4.86k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  4.86k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1249:27): [True: 0, False: 4.86k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  191|  4.86k|         __result = (g_str_has_suffix) (__str, __suffix);                     \
  |  |  192|  4.86k|       else                                                                   \
  |  |  193|  4.86k|         {                                                                    \
  |  |  194|  4.86k|            const size_t __str_len = strlen (_G_STR_NONNULL (__str));         \
  |  |  ------------------
  |  |  |  |  157|  4.86k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  195|  4.86k|            const size_t __suffix_len = strlen (_G_STR_NONNULL (__suffix));   \
  |  |  ------------------
  |  |  |  |  157|  4.86k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  196|  4.86k|            if (__str_len >= __suffix_len)                                    \
  |  |  ------------------
  |  |  |  Branch (196:17): [True: 4.86k, False: 0]
  |  |  ------------------
  |  |  197|  4.86k|              __result = memcmp (__str + __str_len - __suffix_len,            \
  |  |  198|  4.86k|                                 _G_STR_NONNULL (__suffix),                   \
  |  |  ------------------
  |  |  |  |  157|  4.86k|#define _G_STR_NONNULL(x) ((x) + !(x))
  |  |  ------------------
  |  |  199|  4.86k|                                 __suffix_len) == 0;                          \
  |  |  200|  4.86k|         }                                                                    \
  |  |  201|  4.86k|         __result;                                                            \
  |  |  202|  4.86k|    })                                                                        \
  |  |  203|  9.73k|  :                                                                           \
  |  |  204|  9.73k|    (g_str_has_suffix) (STR, SUFFIX)                                          \
  |  |  205|  9.73k|  )
  ------------------
  848|  4.86k|	    !g_ascii_strcasecmp (content_type, "text/xml") ||
  ------------------
  |  Branch (848:6): [True: 1.21k, False: 3.65k]
  ------------------
  849|  3.65k|	    !g_ascii_strcasecmp (content_type, "application/xml"))
  ------------------
  |  Branch (849:6): [True: 0, False: 3.65k]
  ------------------
  850|  1.21k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.21k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  851|       |
  852|       |	/* 5. Distinguish feed from HTML. */
  853|  3.65k|	if (!g_ascii_strcasecmp (content_type, "text/html"))
  ------------------
  |  Branch (853:6): [True: 1.21k, False: 2.43k]
  ------------------
  854|  1.21k|		return sniff_feed_or_html (sniffer, buffer);
  855|       |
  856|       |	/* 6. Image types.
  857|       |	 */
  858|  2.43k|	if (!g_ascii_strncasecmp (content_type, "image/", 6)) {
  ------------------
  |  Branch (858:6): [True: 1.21k, False: 1.21k]
  ------------------
  859|  1.21k|		sniffed_type = sniff_images (sniffer, buffer);
  860|  1.21k|		if (sniffed_type != NULL)
  ------------------
  |  Branch (860:7): [True: 17, False: 1.20k]
  ------------------
  861|     17|			return sniffed_type;
  862|  1.20k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.20k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  863|  1.21k|	}
  864|       |
  865|       |	/* 7. Audio and video types. */
  866|  1.21k|	if (!g_ascii_strncasecmp (content_type, "audio/", 6) ||
  ------------------
  |  Branch (866:6): [True: 0, False: 1.21k]
  ------------------
  867|  1.21k|	    !g_ascii_strncasecmp (content_type, "video/", 6) ||
  ------------------
  |  Branch (867:6): [True: 1.21k, False: 0]
  ------------------
  868|  1.21k|	    !g_ascii_strcasecmp (content_type, "application/ogg")) {
  ------------------
  |  Branch (868:6): [True: 0, False: 0]
  ------------------
  869|  1.21k|	        sniffed_type = sniff_audio_video (sniffer, buffer);
  870|  1.21k|	        if (sniffed_type != NULL)
  ------------------
  |  Branch (870:14): [True: 12, False: 1.20k]
  ------------------
  871|     12|		        return sniffed_type;
  872|  1.20k|		return g_strdup (content_type);
  ------------------
  |  |  324|  1.20k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  873|  1.21k|        }
  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.21k|{
  920|  1.21k|	return g_object_new (SOUP_TYPE_CONTENT_SNIFFER, NULL);
  ------------------
  |  |   13|  1.21k|#define SOUP_TYPE_CONTENT_SNIFFER (soup_content_sniffer_get_type ())
  ------------------
  921|  1.21k|}
soup-content-sniffer.c:soup_content_sniffer_class_init:
  899|      1|{
  900|      1|}
soup-content-sniffer.c:soup_content_sniffer_init:
   81|  1.21k|{
   82|  1.21k|}
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|  3.00k|{
  512|  3.00k|	char *sniffed_type = NULL;
  513|  3.00k|	gsize resource_length;
  514|  3.00k|	const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  515|  3.00k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  3.00k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 42, False: 2.96k]
  |  |  ------------------
  ------------------
  516|  3.00k|	guint i;
  517|       |
  518|  3.00k|        if (resource_length == 0)
  ------------------
  |  Branch (518:13): [True: 0, False: 3.00k]
  ------------------
  519|      0|                return g_strdup ("text/plain");
  ------------------
  |  |  324|      0|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  520|       |
  521|  70.9k|	for (i = 0; i < G_N_ELEMENTS (types_table); i++) {
  ------------------
  |  |  955|  70.9k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  |  Branch (521:14): [True: 68.0k, False: 2.90k]
  ------------------
  522|  68.0k|		SoupContentSnifferPattern *type_row = &(types_table[i]);
  523|       |
  524|  68.0k|		if (!sniff_scriptable && type_row->scriptable)
  ------------------
  |  Branch (524:7): [True: 0, False: 68.0k]
  |  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|  68.0k|		if (resource_length == 0)
  ------------------
  |  Branch (528:7): [True: 0, False: 68.0k]
  ------------------
  529|      0|			continue;
  530|       |
  531|  68.0k|		if (type_row->has_ws) {
  ------------------
  |  Branch (531:7): [True: 53.4k, False: 14.6k]
  ------------------
  532|  53.4k|			guint index_stream = 0;
  533|  53.4k|			guint index_pattern = 0;
  534|  53.4k|			gboolean skip_row = FALSE;
  ------------------
  |  |  929|  53.4k|#define	FALSE	(0)
  ------------------
  535|       |
  536|   211k|			while ((index_stream < resource_length - 1) &&
  ------------------
  |  Branch (536:11): [True: 209k, False: 2.56k]
  ------------------
  537|   209k|			       (index_pattern <= type_row->pattern_length)) {
  ------------------
  |  Branch (537:11): [True: 208k, False: 242]
  ------------------
  538|       |				/* Skip insignificant white space ("WS" in the spec) */
  539|   208k|				if (type_row->pattern[index_pattern] == ' ') {
  ------------------
  |  Branch (539:9): [True: 120k, False: 88.3k]
  ------------------
  540|   120k|					if (resource[index_stream] == '\x09' ||
  ------------------
  |  Branch (540:10): [True: 16.9k, False: 103k]
  ------------------
  541|   103k|					    resource[index_stream] == '\x0a' ||
  ------------------
  |  Branch (541:10): [True: 19.7k, False: 83.8k]
  ------------------
  542|  83.8k|					    resource[index_stream] == '\x0c' ||
  ------------------
  |  Branch (542:10): [True: 939, False: 82.9k]
  ------------------
  543|  82.9k|					    resource[index_stream] == '\x0d' ||
  ------------------
  |  Branch (543:10): [True: 18.3k, False: 64.6k]
  ------------------
  544|  64.6k|					    resource[index_stream] == '\x20')
  ------------------
  |  Branch (544:10): [True: 13.2k, False: 51.3k]
  ------------------
  545|  69.2k|						index_stream++;
  546|  51.3k|					else
  547|  51.3k|						index_pattern++;
  548|   120k|				} else {
  549|  88.3k|					if ((type_row->mask[index_pattern] & resource[index_stream]) != type_row->pattern[index_pattern]) {
  ------------------
  |  Branch (549:10): [True: 50.6k, False: 37.7k]
  ------------------
  550|  50.6k|						skip_row = TRUE;
  ------------------
  |  |  933|  50.6k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  50.6k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  551|  50.6k|						break;
  552|  50.6k|					}
  553|  37.7k|					index_pattern++;
  554|  37.7k|					index_stream++;
  555|  37.7k|				}
  556|   208k|			}
  557|       |
  558|  53.4k|			if (skip_row)
  ------------------
  |  Branch (558:8): [True: 50.6k, False: 2.80k]
  ------------------
  559|  50.6k|				continue;
  560|       |
  561|  2.80k|			if (index_pattern > type_row->pattern_length) {
  ------------------
  |  Branch (561:8): [True: 355, False: 2.45k]
  ------------------
  562|    355|				if (type_row->has_tag_termination &&
  ------------------
  |  Branch (562:9): [True: 342, False: 13]
  ------------------
  563|    342|				    resource[index_stream] != '\x20' &&
  ------------------
  |  Branch (563:9): [True: 303, False: 39]
  ------------------
  564|    303|				    resource[index_stream] != '\x3E')
  ------------------
  |  Branch (564:9): [True: 277, False: 26]
  ------------------
  565|    277|					continue;
  566|       |
  567|     78|				return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     78|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  568|    355|			}
  569|  14.6k|		} else {
  570|  14.6k|			guint j;
  571|       |
  572|  14.6k|			if (resource_length < type_row->pattern_length)
  ------------------
  |  Branch (572:8): [True: 3.37k, False: 11.2k]
  ------------------
  573|  3.37k|				continue;
  574|       |
  575|  11.4k|			for (j = 0; j < type_row->pattern_length; j++) {
  ------------------
  |  Branch (575:16): [True: 11.4k, False: 24]
  ------------------
  576|  11.4k|				if ((type_row->mask[j] & resource[j]) != type_row->pattern[j])
  ------------------
  |  Branch (576:9): [True: 11.2k, False: 270]
  ------------------
  577|  11.2k|					break;
  578|  11.4k|			}
  579|       |
  580|       |			/* This means our comparison above matched completely */
  581|  11.2k|			if (j == type_row->pattern_length)
  ------------------
  |  Branch (581:8): [True: 24, False: 11.2k]
  ------------------
  582|     24|				return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     24|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  583|  11.2k|		}
  584|  68.0k|	}
  585|       |
  586|  2.90k|	sniffed_type = sniff_images (sniffer, buffer);
  587|       |
  588|  2.90k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (588:6): [True: 48, False: 2.85k]
  ------------------
  589|     48|		return sniffed_type;
  590|       |
  591|  2.85k|	sniffed_type = sniff_audio_video (sniffer, buffer);
  592|       |
  593|  2.85k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (593:6): [True: 18, False: 2.83k]
  ------------------
  594|     18|		return sniffed_type;
  595|       |
  596|  67.8k|	for (i = 0; i < resource_length; i++) {
  ------------------
  |  Branch (596:14): [True: 66.6k, False: 1.20k]
  ------------------
  597|  66.6k|		if (byte_looks_binary[resource[i]])
  ------------------
  |  Branch (597:7): [True: 1.63k, False: 65.0k]
  ------------------
  598|  1.63k|			return g_strdup ("application/octet-stream");
  ------------------
  |  |  324|  1.63k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  599|  66.6k|	}
  600|       |
  601|  1.20k|	return g_strdup ("text/plain");
  ------------------
  |  |  324|  1.20k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  602|  2.83k|}
soup-content-sniffer.c:sniff_text_or_binary:
  607|  1.21k|{
  608|  1.21k|	gsize resource_length;
  609|  1.21k|	const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  610|  1.21k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  1.21k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 15, False: 1.20k]
  |  |  ------------------
  ------------------
  611|  1.21k|	gboolean looks_binary = FALSE;
  ------------------
  |  |  929|  1.21k|#define	FALSE	(0)
  ------------------
  612|  1.21k|	int i;
  613|       |
  614|       |	/* 2. Detecting UTF-16BE, UTF-16LE BOMs means it's text/plain */
  615|  1.21k|	if (resource_length >= 2) {
  ------------------
  |  Branch (615:6): [True: 1.21k, False: 3]
  ------------------
  616|  1.21k|		if ((resource[0] == 0xFE && resource[1] == 0xFF) ||
  ------------------
  |  Branch (616:8): [True: 16, False: 1.19k]
  |  Branch (616:31): [True: 2, False: 14]
  ------------------
  617|  1.21k|		    (resource[0] == 0xFF && resource[1] == 0xFE))
  ------------------
  |  Branch (617:8): [True: 30, False: 1.18k]
  |  Branch (617:31): [True: 4, False: 26]
  ------------------
  618|      6|			return g_strdup ("text/plain");
  ------------------
  |  |  324|      6|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  619|  1.21k|	}
  620|       |
  621|       |	/* 3. UTF-8 BOM. */
  622|  1.21k|	if (resource_length >= 3) {
  ------------------
  |  Branch (622:6): [True: 1.14k, False: 69]
  ------------------
  623|  1.14k|		if (resource[0] == 0xEF && resource[1] == 0xBB && resource[2] == 0xBF)
  ------------------
  |  Branch (623:7): [True: 35, False: 1.10k]
  |  Branch (623:30): [True: 20, False: 15]
  |  Branch (623:53): [True: 6, False: 14]
  ------------------
  624|      6|			return g_strdup ("text/plain");
  ------------------
  |  |  324|      6|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  625|  1.14k|	}
  626|       |
  627|       |	/* 4. Look to see if any of the first n bytes looks binary */
  628|  29.3k|	for (i = 0; i < resource_length; i++) {
  ------------------
  |  Branch (628:14): [True: 28.6k, False: 633]
  ------------------
  629|  28.6k|		if (byte_looks_binary[resource[i]]) {
  ------------------
  |  Branch (629:7): [True: 572, False: 28.1k]
  ------------------
  630|    572|			looks_binary = TRUE;
  ------------------
  |  |  933|    572|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    572|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  631|    572|			break;
  632|    572|		}
  633|  28.6k|	}
  634|       |
  635|  1.20k|	if (!looks_binary)
  ------------------
  |  Branch (635:6): [True: 633, False: 572]
  ------------------
  636|    633|		return g_strdup ("text/plain");
  ------------------
  |  |  324|    633|#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|    572|	return sniff_unknown (sniffer, buffer, TRUE);
  ------------------
  |  |  933|    572|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    572|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  642|  1.20k|}
soup-content-sniffer.c:sniff_feed_or_html:
  665|  1.21k|{
  666|  1.21k|	gsize resource_length;
  667|  1.21k|	const char *resource = g_bytes_get_data (buffer, &resource_length);
  668|  1.21k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  1.21k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 15, False: 1.20k]
  |  |  ------------------
  ------------------
  669|  1.21k|	gsize pos = 0;
  670|       |
  671|  1.21k|	if (resource_length < 3)
  ------------------
  |  Branch (671:6): [True: 71, False: 1.14k]
  ------------------
  672|     71|		goto text_html;
  673|       |
  674|       |	/* Skip a leading UTF-8 BOM */
  675|  1.14k|	if ((guchar)resource[0] == 0xEF && (guchar)resource[1] == 0xBB && (guchar)resource[2] == 0xBF)
  ------------------
  |  Branch (675:6): [True: 35, False: 1.11k]
  |  Branch (675:37): [True: 20, False: 15]
  |  Branch (675:68): [True: 6, False: 14]
  ------------------
  676|      6|		pos = 3;
  677|       |
  678|  2.25k| look_for_tag:
  679|  2.25k|	if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (679:6): [True: 50, False: 2.20k]
  ------------------
  680|     50|		goto text_html;
  681|       |
  682|  2.20k|	if (resource[pos] != '<')
  ------------------
  |  Branch (682:6): [True: 312, False: 1.89k]
  ------------------
  683|    312|		return g_strdup ("text/html");
  ------------------
  |  |  324|    312|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  684|       |
  685|  1.89k|	pos++;
  686|       |
  687|  1.89k|	if ((pos + 2) > resource_length)
  ------------------
  |  Branch (687:6): [True: 17, False: 1.88k]
  ------------------
  688|     17|		goto text_html;
  689|       |
  690|       |	/* Skip comments. */
  691|  1.88k|	if (data_has_prefix (resource + pos, "!--", resource_length - pos)) {
  ------------------
  |  Branch (691:6): [True: 243, False: 1.63k]
  ------------------
  692|    243|		pos = pos + 3;
  693|       |
  694|    243|		if ((pos + 2) > resource_length)
  ------------------
  |  Branch (694:7): [True: 11, False: 232]
  ------------------
  695|     11|			goto text_html;
  696|       |
  697|  3.38k|		while (!data_has_prefix (resource + pos, "-->", resource_length - pos)) {
  ------------------
  |  Branch (697:10): [True: 3.20k, False: 178]
  ------------------
  698|  3.20k|			pos++;
  699|       |
  700|  3.20k|			if ((pos + 2) > resource_length)
  ------------------
  |  Branch (700:8): [True: 54, False: 3.15k]
  ------------------
  701|     54|				goto text_html;
  702|  3.20k|		}
  703|       |
  704|    178|		pos = pos + 3;
  705|       |
  706|    178|		goto look_for_tag;
  707|    232|	}
  708|       |
  709|  1.63k|	if (pos > resource_length)
  ------------------
  |  Branch (709:6): [True: 0, False: 1.63k]
  ------------------
  710|      0|		goto text_html;
  711|       |
  712|  1.63k|	if (resource[pos] == '!') {
  ------------------
  |  Branch (712:6): [True: 753, False: 884]
  ------------------
  713|  13.0k|		do {
  714|  13.0k|			pos++;
  715|       |
  716|  13.0k|			if ((pos + 1) > resource_length)
  ------------------
  |  Branch (716:8): [True: 62, False: 12.9k]
  ------------------
  717|     62|				goto text_html;
  718|  13.0k|		} while (resource[pos] != '>');
  ------------------
  |  Branch (718:12): [True: 12.2k, False: 691]
  ------------------
  719|       |
  720|    691|		pos++;
  721|       |
  722|    691|		goto look_for_tag;
  723|    884|	} else if (resource[pos] == '?') {
  ------------------
  |  Branch (723:13): [True: 311, False: 573]
  ------------------
  724|  4.10k|		do {
  725|  4.10k|			pos++;
  726|       |
  727|  4.10k|			if ((pos + 1) > resource_length)
  ------------------
  |  Branch (727:8): [True: 67, False: 4.03k]
  ------------------
  728|     67|				goto text_html;
  729|  4.10k|		} while (!data_has_prefix (resource + pos, "?>", resource_length - pos));
  ------------------
  |  Branch (729:12): [True: 3.79k, False: 244]
  ------------------
  730|       |
  731|    244|		pos = pos + 2;
  732|       |
  733|    244|		goto look_for_tag;
  734|    311|	}
  735|       |
  736|    573|	if ((pos + 3) > resource_length)
  ------------------
  |  Branch (736:6): [True: 53, False: 520]
  ------------------
  737|     53|		goto text_html;
  738|       |
  739|    520|	if (data_has_prefix (resource + pos, "rss", resource_length - pos))
  ------------------
  |  Branch (739:6): [True: 1, False: 519]
  ------------------
  740|      1|		return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  741|       |
  742|    519|	if ((pos + 4) > resource_length)
  ------------------
  |  Branch (742:6): [True: 99, False: 420]
  ------------------
  743|     99|		goto text_html;
  744|       |
  745|    420|	if (data_has_prefix (resource + pos, "feed", resource_length - pos))
  ------------------
  |  Branch (745:6): [True: 1, False: 419]
  ------------------
  746|      1|		return g_strdup ("application/atom+xml");
  ------------------
  |  |  324|      1|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  747|       |
  748|    419|	if ((pos + 7) > resource_length)
  ------------------
  |  Branch (748:6): [True: 21, False: 398]
  ------------------
  749|     21|		goto text_html;
  750|       |
  751|    398|	if (data_has_prefix (resource + pos, "rdf:RDF", resource_length - pos)) {
  ------------------
  |  Branch (751:6): [True: 359, False: 39]
  ------------------
  752|    359|		pos = pos + 7;
  753|       |
  754|    359|		if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (754:7): [True: 31, False: 328]
  ------------------
  755|     31|			goto text_html;
  756|       |
  757|    328|		if ((pos + 32) > resource_length)
  ------------------
  |  Branch (757:7): [True: 58, False: 270]
  ------------------
  758|     58|			goto text_html;
  759|       |
  760|    270|		if (data_has_prefix (resource + pos, "xmlns=\"http://purl.org/rss/1.0/\"", resource_length - pos)) {
  ------------------
  |  Branch (760:7): [True: 90, False: 180]
  ------------------
  761|     90|			pos = pos + 32;
  762|       |
  763|     90|			if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (763:8): [True: 30, False: 60]
  ------------------
  764|     30|				goto text_html;
  765|       |
  766|     60|			if ((pos + 55) > resource_length)
  ------------------
  |  Branch (766:8): [True: 56, False: 4]
  ------------------
  767|     56|				goto text_html;
  768|       |
  769|      4|			if (data_has_prefix (resource + pos, "xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"", resource_length - pos))
  ------------------
  |  Branch (769:8): [True: 2, False: 2]
  ------------------
  770|      2|				return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      2|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  771|      4|		}
  772|       |
  773|    182|		if ((pos + 55) > resource_length)
  ------------------
  |  Branch (773:7): [True: 89, False: 93]
  ------------------
  774|     89|			goto text_html;
  775|       |
  776|     93|		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: 84, False: 9]
  ------------------
  777|     84|			pos = pos + 55;
  778|       |
  779|     84|			if (skip_insignificant_space (resource, &pos, resource_length))
  ------------------
  |  Branch (779:8): [True: 34, False: 50]
  ------------------
  780|     34|				goto text_html;
  781|       |
  782|     50|			if ((pos + 32) > resource_length)
  ------------------
  |  Branch (782:8): [True: 42, False: 8]
  ------------------
  783|     42|				goto text_html;
  784|       |
  785|      8|			if (data_has_prefix (resource + pos, "xmlns=\"http://purl.org/rss/1.0/\"", resource_length - pos))
  ------------------
  |  Branch (785:8): [True: 2, False: 6]
  ------------------
  786|      2|				return g_strdup ("application/rss+xml");
  ------------------
  |  |  324|      2|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  787|      8|		}
  788|     93|	}
  789|       |
  790|    899| text_html:
  791|    899|	return g_strdup ("text/html");
  ------------------
  |  |  324|    899|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  792|    398|}
soup-content-sniffer.c:skip_insignificant_space:
  646|  2.79k|{
  647|  2.79k|        if (*pos >= resource_length)
  ------------------
  |  Branch (647:13): [True: 30, False: 2.76k]
  ------------------
  648|     30|	        return TRUE;
  ------------------
  |  |  933|     30|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|     30|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  649|       |
  650|  8.00k|	while ((resource[*pos] == '\x09') ||
  ------------------
  |  Branch (650:9): [True: 1.28k, False: 6.72k]
  ------------------
  651|  6.72k|	       (resource[*pos] == '\x20') ||
  ------------------
  |  Branch (651:9): [True: 1.20k, False: 5.52k]
  ------------------
  652|  5.52k|	       (resource[*pos] == '\x0A') ||
  ------------------
  |  Branch (652:9): [True: 1.41k, False: 4.10k]
  ------------------
  653|  5.36k|	       (resource[*pos] == '\x0D')) {
  ------------------
  |  Branch (653:9): [True: 1.46k, False: 2.64k]
  ------------------
  654|  5.36k|		*pos = *pos + 1;
  655|       |
  656|  5.36k|		if (*pos >= resource_length)
  ------------------
  |  Branch (656:7): [True: 115, False: 5.24k]
  ------------------
  657|    115|			return TRUE;
  ------------------
  |  |  933|    115|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|    115|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  658|  5.36k|	}
  659|       |
  660|  2.64k|	return FALSE;
  ------------------
  |  |  929|  2.64k|#define	FALSE	(0)
  ------------------
  661|  2.76k|}
soup-content-sniffer.c:data_has_prefix:
  233|  14.0k|{
  234|  14.0k|        if (strlen (prefix) > max_length)
  ------------------
  |  Branch (234:13): [True: 183, False: 13.8k]
  ------------------
  235|    183|                return FALSE;
  ------------------
  |  |  929|    183|#define	FALSE	(0)
  ------------------
  236|       |
  237|  13.8k|        return memcmp (data, prefix, strlen (prefix)) == 0;
  238|  14.0k|}
soup-content-sniffer.c:sniff_images:
  178|  4.12k|{
  179|  4.12k|	return sniff_media (sniffer,
  180|  4.12k|			    buffer,
  181|  4.12k|			    image_types_table,
  182|  4.12k|			    G_N_ELEMENTS (image_types_table));
  ------------------
  |  |  955|  4.12k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  183|  4.12k|}
soup-content-sniffer.c:sniff_media:
   96|  8.19k|{
   97|       |
   98|  8.19k|        gsize resource_length;
   99|  8.19k|        const guchar *resource = g_bytes_get_data (buffer, &resource_length);
  100|  8.19k|        resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  8.19k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 110, False: 8.08k]
  |  |  ------------------
  ------------------
  101|  8.19k|	int i;
  102|       |
  103|  73.1k|	for (i = 0; i < table_length; i++) {
  ------------------
  |  Branch (103:14): [True: 65.0k, False: 8.11k]
  ------------------
  104|  65.0k|		SoupContentSnifferMediaPattern *type_row = &(table[i]);
  105|  65.0k|		guint j;
  106|       |
  107|  65.0k|		if (resource_length < type_row->pattern_length)
  ------------------
  |  Branch (107:7): [True: 17.1k, False: 47.8k]
  ------------------
  108|  17.1k|			continue;
  109|       |
  110|  50.6k|		for (j = 0; j < type_row->pattern_length; j++) {
  ------------------
  |  Branch (110:15): [True: 50.5k, False: 82]
  ------------------
  111|  50.5k|			if ((type_row->mask[j] & resource[j]) != type_row->pattern[j])
  ------------------
  |  Branch (111:8): [True: 47.7k, False: 2.79k]
  ------------------
  112|  47.7k|				break;
  113|  50.5k|		}
  114|       |
  115|       |		/* This means our comparison above matched completely */
  116|  47.8k|		if (j == type_row->pattern_length)
  ------------------
  |  Branch (116:7): [True: 82, False: 47.7k]
  ------------------
  117|     82|			return g_strdup (type_row->sniffed_type);
  ------------------
  |  |  324|     82|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  118|  47.8k|	}
  119|       |
  120|  8.11k|	return NULL;
  121|  8.19k|}
soup-content-sniffer.c:sniff_audio_video:
  280|  4.07k|{
  281|  4.07k|	char *sniffed_type;
  282|       |
  283|  4.07k|	sniffed_type = sniff_media (sniffer,
  284|  4.07k|				    buffer,
  285|  4.07k|				    audio_video_types_table,
  286|  4.07k|				    G_N_ELEMENTS (audio_video_types_table));
  ------------------
  |  |  955|  4.07k|#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
  ------------------
  287|       |
  288|  4.07k|	if (sniffed_type != NULL)
  ------------------
  |  Branch (288:6): [True: 17, False: 4.05k]
  ------------------
  289|     17|		return sniffed_type;
  290|       |
  291|  4.05k|	if (sniff_mp4 (sniffer, buffer))
  ------------------
  |  Branch (291:6): [True: 13, False: 4.04k]
  ------------------
  292|     13|		return g_strdup ("video/mp4");
  ------------------
  |  |  324|     13|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  293|       |
  294|  4.04k|	return NULL;
  295|  4.05k|}
soup-content-sniffer.c:sniff_mp4:
  242|  4.05k|{
  243|  4.05k|	gsize resource_length;
  244|  4.05k|	const char *resource = g_bytes_get_data (buffer, &resource_length);
  245|  4.05k|	resource_length = MIN (512, resource_length);
  ------------------
  |  |  940|  4.05k|#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (940:21): [True: 55, False: 4.00k]
  |  |  ------------------
  ------------------
  246|  4.05k|	guint32 box_size;
  247|  4.05k|	guint i;
  248|       |
  249|  4.05k|        if (resource_length < sizeof (guint32))
  ------------------
  |  Branch (249:13): [True: 638, False: 3.41k]
  ------------------
  250|    638|                return FALSE;
  ------------------
  |  |  929|    638|#define	FALSE	(0)
  ------------------
  251|       |
  252|  3.41k|	box_size = *((guint32*)resource);
  253|       |
  254|  3.41k|#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
  255|  3.41k|	box_size = ((box_size >> 24) |
  256|  3.41k|		    ((box_size << 8) & 0x00FF0000) |
  257|  3.41k|		    ((box_size >> 8) & 0x0000FF00) |
  258|  3.41k|		    (box_size << 24));
  259|  3.41k|#endif
  260|       |
  261|  3.41k|	if (resource_length < 12 || resource_length < box_size || box_size % 4 != 0)
  ------------------
  |  Branch (261:6): [True: 1.16k, False: 2.25k]
  |  Branch (261:30): [True: 1.73k, False: 520]
  |  Branch (261:60): [True: 20, False: 500]
  ------------------
  262|  2.91k|		return FALSE;
  ------------------
  |  |  929|  2.91k|#define	FALSE	(0)
  ------------------
  263|       |
  264|    500|	if (!data_has_prefix (resource + 4, "ftyp", resource_length - 4))
  ------------------
  |  Branch (264:6): [True: 73, False: 427]
  ------------------
  265|     73|		return FALSE;
  ------------------
  |  |  929|     73|#define	FALSE	(0)
  ------------------
  266|       |
  267|    427|	if (!data_has_prefix (resource + 8, "mp4", resource_length - 8))
  ------------------
  |  Branch (267:6): [True: 177, False: 250]
  ------------------
  268|    177|		return FALSE;
  ------------------
  |  |  929|    177|#define	FALSE	(0)
  ------------------
  269|       |
  270|  2.33k|	for (i = 16; i < box_size && i < resource_length; i = i + 4) {
  ------------------
  |  Branch (270:15): [True: 2.09k, False: 237]
  |  Branch (270:31): [True: 2.09k, False: 0]
  ------------------
  271|  2.09k|		if (data_has_prefix (resource + i, "mp4", resource_length - i))
  ------------------
  |  Branch (271:7): [True: 13, False: 2.08k]
  ------------------
  272|     13|			return TRUE;
  ------------------
  |  |  933|     13|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|     13|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  273|  2.09k|	}
  274|       |
  275|    237|	return FALSE;
  ------------------
  |  |  929|    237|#define	FALSE	(0)
  ------------------
  276|    250|}

soup_message_headers_new:
   76|  17.0k|{
   77|  17.0k|	SoupMessageHeaders *hdrs;
   78|       |
   79|  17.0k|	hdrs = g_atomic_rc_box_new0 (SoupMessageHeaders);
  ------------------
  |  |   75|  17.0k|  ((type *) g_atomic_rc_box_alloc0 (sizeof (type)))
  ------------------
   80|  17.0k|	hdrs->type = type;
   81|  17.0k|	hdrs->encoding = -1;
   82|       |
   83|  17.0k|	return hdrs;
   84|  17.0k|}
soup_message_headers_unref:
  125|  17.0k|{
  126|  17.0k|        g_atomic_rc_box_release_full (hdrs, (GDestroyNotify)soup_message_headers_destroy);
  127|  17.0k|}
soup_message_headers_clear:
  194|  17.0k|{
  195|  17.0k|	guint i;
  196|       |
  197|  17.0k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  17.0k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  17.0k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  17.0k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  17.0k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  17.0k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  17.0k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  17.0k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  17.0k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  17.0k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 17.0k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  17.0k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  17.0k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  17.0k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  17.0k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  17.0k|      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|  17.0k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  17.0k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  17.0k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  17.0k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 17.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  17.0k|      { } \
  |  |  653|  17.0k|    else \
  |  |  654|  17.0k|      { \
  |  |  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|  17.0k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  17.0k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 17.0k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|       |
  199|  17.0k|        if (hdrs->common_headers) {
  ------------------
  |  Branch (199:13): [True: 7.30k, False: 9.73k]
  ------------------
  200|  7.30k|                SoupCommonHeader *hdr_array_common = (SoupCommonHeader *)hdrs->common_headers->data;
  201|       |
  202|  14.6k|                for (i = 0; i < hdrs->common_headers->len; i++) {
  ------------------
  |  Branch (202:29): [True: 7.30k, False: 7.30k]
  ------------------
  203|  7.30k|                        g_free (hdr_array_common[i].value);
  204|  7.30k|                        soup_message_headers_set (hdrs, hdr_array_common[i].name, NULL);
  205|  7.30k|                }
  206|  7.30k|                g_array_set_size (hdrs->common_headers, 0);
  207|  7.30k|        }
  208|       |
  209|  17.0k|        if (hdrs->common_concat)
  ------------------
  |  Branch (209:13): [True: 0, False: 17.0k]
  ------------------
  210|      0|                g_hash_table_remove_all (hdrs->common_concat);
  211|       |
  212|  17.0k|        if (hdrs->uncommon_headers) {
  ------------------
  |  Branch (212:13): [True: 0, False: 17.0k]
  ------------------
  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|  17.0k|	if (hdrs->uncommon_concat)
  ------------------
  |  Branch (222:6): [True: 0, False: 17.0k]
  ------------------
  223|      0|		g_hash_table_remove_all (hdrs->uncommon_concat);
  224|       |
  225|  17.0k|        hdrs->encoding = -1;
  226|  17.0k|        hdrs->content_length = 0;
  227|  17.0k|        hdrs->expectations = 0;
  228|       |        g_clear_pointer (&hdrs->content_type, g_free);
  ------------------
  |  |  136|  17.0k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  17.0k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  17.0k|  {                                                      \
  |  |  138|  17.0k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  17.0k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  17.0k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  17.0k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  17.0k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  17.0k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  17.0k|    *_pp = NULL;                                         \
  |  |  142|  17.0k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 17.0k]
  |  |  ------------------
  |  |  143|  17.0k|      (destroy) (_ptr);                                  \
  |  |  144|  17.0k|  }                                                      \
  |  |  145|  17.0k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  17.0k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 17.0k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  17.0k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  229|  17.0k|}
soup_message_headers_append_common:
  271|  7.30k|{
  272|  7.30k|        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.30k|        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.30k]
  |  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.30k|        if (name == SOUP_HEADER_CONTENT_LENGTH) {
  ------------------
  |  Branch (285:13): [True: 0, False: 7.30k]
  ------------------
  286|       |                /* RFC 9110 - 8.6. Content-Length
  287|       |                 * "[A] sender MUST NOT forward a message with a Content-Length header field
  288|       |                 *  value that does not match the ABNF above, with one exception: a recipient
  289|       |                 *  of a Content-Length header field value consisting of the same decimal value
  290|       |                 *  repeated as a comma-separated list (e.g, "Content-Length: 42, 42") MAY
  291|       |                 *  either reject the message as invalid or replace that invalid field value
  292|       |                 *  with a single instance of the decimal value, since this likely indicates
  293|       |                 *  that a duplicate was generated or combined by an upstream message
  294|       |                 *  processor."
  295|       |                 *
  296|       |                 */
  297|      0|                const char *content_length = soup_message_headers_get_one_common (hdrs, SOUP_HEADER_CONTENT_LENGTH);
  298|      0|                if (content_length) {
  ------------------
  |  Branch (298:21): [True: 0, False: 0]
  ------------------
  299|      0|                        char *end;
  300|       |
  301|      0|                        errno = 0;
  302|      0|                        g_ascii_strtoull (content_length, &end, 10);
  303|      0|                        if (*end || errno == ERANGE)
  ------------------
  |  Branch (303:29): [True: 0, False: 0]
  |  Branch (303:37): [True: 0, False: 0]
  ------------------
  304|      0|                                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  305|       |
  306|      0|                        errno = 0;
  307|      0|                        g_ascii_strtoull (value, &end, 10);
  308|      0|                        if (*end || errno == ERANGE)
  ------------------
  |  Branch (308:29): [True: 0, False: 0]
  |  Branch (308:37): [True: 0, False: 0]
  ------------------
  309|      0|                                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  310|       |
  311|      0|                        if (strcmp (content_length, value) != 0)
  ------------------
  |  Branch (311:29): [True: 0, False: 0]
  ------------------
  312|      0|                                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  313|      0|                }
  314|      0|        }
  315|       |
  316|  7.30k|        if (trusted_value == SOUP_HEADER_VALUE_UNTRUSTED && !is_valid_header_value (value)) {
  ------------------
  |  Branch (316:13): [True: 7.30k, False: 0]
  |  Branch (316:61): [True: 0, False: 7.30k]
  ------------------
  317|      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__)
  ------------------
  318|      0|                return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
  319|      0|        }
  320|       |
  321|  7.30k|        if (!hdrs->common_headers)
  ------------------
  |  Branch (321:13): [True: 7.30k, False: 0]
  ------------------
  322|  7.30k|                hdrs->common_headers = g_array_sized_new (FALSE, FALSE, sizeof (SoupCommonHeader), 6);
  ------------------
  |  |  929|  7.30k|#define	FALSE	(0)
  ------------------
                              hdrs->common_headers = g_array_sized_new (FALSE, FALSE, sizeof (SoupCommonHeader), 6);
  ------------------
  |  |  929|  7.30k|#define	FALSE	(0)
  ------------------
  323|       |
  324|  7.30k|        header.name = name;
  325|  7.30k|        header.value = g_strdup (value);
  ------------------
  |  |  324|  7.30k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
  326|  7.30k|        g_array_append_val (hdrs->common_headers, header);
  ------------------
  |  |   66|  7.30k|#define g_array_append_val(a,v)	  g_array_append_vals (a, &(v), 1)
  ------------------
  327|  7.30k|        if (hdrs->common_concat)
  ------------------
  |  Branch (327:13): [True: 0, False: 7.30k]
  ------------------
  328|      0|                g_hash_table_remove (hdrs->common_concat, GUINT_TO_POINTER (header.name));
  329|       |
  330|  7.30k|        soup_message_headers_set (hdrs, name, value);
  331|  7.30k|        return TRUE;
  ------------------
  |  |  933|  7.30k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.30k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  332|  7.30k|}
soup_message_headers_replace_common:
  416|  7.30k|{
  417|  7.30k|        soup_message_headers_remove_common (hdrs, name);
  418|  7.30k|        soup_message_headers_append_common (hdrs, name, value, trusted_value);
  419|  7.30k|}
soup_message_headers_remove_common:
  515|  7.30k|{
  516|  7.30k|        int index;
  517|       |
  518|  7.30k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  7.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  7.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  7.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.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|  7.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  7.30k|      { } \
  |  |  653|  7.30k|    else \
  |  |  654|  7.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|  7.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  519|       |
  520|  7.30k|        if (hdrs->common_headers) {
  ------------------
  |  Branch (520:13): [True: 0, False: 7.30k]
  ------------------
  521|      0|                while ((index = find_common_header (hdrs->common_headers, name, 0)) != -1) {
  ------------------
  |  Branch (521:24): [True: 0, False: 0]
  ------------------
  522|      0|#ifndef __clang_analyzer__ /* False positive for double-free */
  523|      0|                        SoupCommonHeader *hdr_array = (SoupCommonHeader *)hdrs->common_headers->data;
  524|       |
  525|      0|                        g_free (hdr_array[index].value);
  526|      0|#endif
  527|      0|                        g_array_remove_index (hdrs->common_headers, index);
  528|      0|                }
  529|      0|        }
  530|       |
  531|  7.30k|        if (hdrs->common_concat)
  ------------------
  |  Branch (531:13): [True: 0, False: 7.30k]
  ------------------
  532|      0|                g_hash_table_remove (hdrs->common_concat, GUINT_TO_POINTER (name));
  533|       |
  534|       |        soup_message_headers_set (hdrs, name, NULL);
  535|  7.30k|}
soup_message_headers_get_one_common:
  580|  15.8k|{
  581|  15.8k|        SoupCommonHeader *hdr_array;
  582|  15.8k|        int index;
  583|       |
  584|  15.8k|        if (!hdrs->common_headers)
  ------------------
  |  Branch (584:13): [True: 1.21k, False: 14.6k]
  ------------------
  585|  1.21k|                return NULL;
  586|       |
  587|  14.6k|        hdr_array = (SoupCommonHeader *)hdrs->common_headers->data;
  588|  14.6k|        index = find_last_common_header (hdrs->common_headers, name, 0);
  589|       |
  590|  14.6k|        return index == -1 ? NULL : hdr_array[index].value;
  ------------------
  |  Branch (590:16): [True: 7.30k, False: 7.30k]
  ------------------
  591|  15.8k|}
soup_message_headers_get_content_type:
 1842|  8.51k|{
 1843|  8.51k|	g_return_val_if_fail (hdrs, NULL);
  ------------------
  |  |  663|  8.51k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  8.51k|#define G_STMT_START  do
  |  |  ------------------
  |  |  664|  8.51k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  8.51k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  8.51k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  8.51k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  8.51k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  8.51k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  8.51k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 8.51k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  8.51k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.51k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.51k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  8.51k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  8.51k|      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.51k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  8.51k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  8.51k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  8.51k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 8.51k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|  8.51k|      { } \
  |  |  666|  8.51k|    else \
  |  |  667|  8.51k|      { \
  |  |  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.51k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  8.51k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 8.51k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1844|       |
 1845|  8.51k|	if (!hdrs->content_type)
  ------------------
  |  Branch (1845:6): [True: 1.21k, False: 7.30k]
  ------------------
 1846|  1.21k|		return NULL;
 1847|       |
 1848|  7.30k|	if (params)
  ------------------
  |  Branch (1848:6): [True: 0, False: 7.30k]
  ------------------
 1849|      0|		parse_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, NULL, params);
 1850|  7.30k|	return hdrs->content_type;
 1851|  8.51k|}
soup_message_headers_set_content_type:
 1867|  7.30k|{
 1868|  7.30k|	g_return_if_fail (hdrs);
  ------------------
  |  |  650|  7.30k|  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  651|  7.30k|    if (G_LIKELY (expr)) \
  |  |  ------------------
  |  |  |  | 1248|  7.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.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|  7.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:24): [True: 7.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  652|  7.30k|      { } \
  |  |  653|  7.30k|    else \
  |  |  654|  7.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|  7.30k|  } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1869|       |
 1870|  7.30k|	set_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, content_type, params);
 1871|  7.30k|}
soup-message-headers.c:soup_message_headers_destroy:
  104|  17.0k|{
  105|  17.0k|        soup_message_headers_clear (hdrs);
  106|  17.0k|        if (hdrs->common_headers)
  ------------------
  |  Branch (106:13): [True: 7.30k, False: 9.73k]
  ------------------
  107|  7.30k|                g_array_free (hdrs->common_headers, TRUE);
  ------------------
  |  |  933|  7.30k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.30k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
  108|  17.0k|        g_clear_pointer (&hdrs->common_concat, g_hash_table_destroy);
  ------------------
  |  |  136|  17.0k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  17.0k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  17.0k|  {                                                      \
  |  |  138|  17.0k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  17.0k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  17.0k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  17.0k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  17.0k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  17.0k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  17.0k|    *_pp = NULL;                                         \
  |  |  142|  17.0k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 17.0k]
  |  |  ------------------
  |  |  143|  17.0k|      (destroy) (_ptr);                                  \
  |  |  144|  17.0k|  }                                                      \
  |  |  145|  17.0k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  17.0k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 17.0k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  17.0k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  109|  17.0k|        if (hdrs->uncommon_headers)
  ------------------
  |  Branch (109:13): [True: 0, False: 17.0k]
  ------------------
  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|  17.0k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  17.0k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  17.0k|  {                                                      \
  |  |  138|  17.0k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  17.0k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  17.0k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  17.0k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  17.0k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  17.0k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  17.0k|    *_pp = NULL;                                         \
  |  |  142|  17.0k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 0, False: 17.0k]
  |  |  ------------------
  |  |  143|  17.0k|      (destroy) (_ptr);                                  \
  |  |  144|  17.0k|  }                                                      \
  |  |  145|  17.0k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  17.0k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 17.0k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  17.0k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  112|  17.0k|}
soup-message-headers.c:soup_message_headers_set:
  151|  21.9k|{
  152|  21.9k|        switch (name) {
  153|      0|        case SOUP_HEADER_CONTENT_LENGTH:
  ------------------
  |  Branch (153:9): [True: 0, False: 21.9k]
  ------------------
  154|      0|        case SOUP_HEADER_TRANSFER_ENCODING:
  ------------------
  |  Branch (154:9): [True: 0, False: 21.9k]
  ------------------
  155|      0|                hdrs->encoding = -1;
  156|      0|                break;
  157|  21.9k|        case SOUP_HEADER_CONTENT_TYPE:
  ------------------
  |  Branch (157:9): [True: 21.9k, False: 0]
  ------------------
  158|  21.9k|                g_clear_pointer (&hdrs->content_type, g_free);
  ------------------
  |  |  136|  21.9k|  G_STMT_START                                           \
  |  |  ------------------
  |  |  |  |  989|  21.9k|#define G_STMT_START  do
  |  |  ------------------
  |  |  137|  21.9k|  {                                                      \
  |  |  138|  21.9k|    G_STATIC_ASSERT (sizeof *(pp) == sizeof (gpointer)); \
  |  |  ------------------
  |  |  |  |  872|  21.9k|#define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false")
  |  |  ------------------
  |  |  139|  21.9k|    glib_typeof ((pp)) _pp = (pp);                       \
  |  |  ------------------
  |  |  |  |   39|  21.9k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  140|  21.9k|    glib_typeof (*(pp)) _ptr = *_pp;                     \
  |  |  ------------------
  |  |  |  |   39|  21.9k|#define glib_typeof(t) __typeof__ (t)
  |  |  ------------------
  |  |  141|  21.9k|    *_pp = NULL;                                         \
  |  |  142|  21.9k|    if (_ptr)                                            \
  |  |  ------------------
  |  |  |  Branch (142:9): [True: 7.30k, False: 14.6k]
  |  |  ------------------
  |  |  143|  21.9k|      (destroy) (_ptr);                                  \
  |  |  144|  21.9k|  }                                                      \
  |  |  145|  21.9k|  G_STMT_END                                             \
  |  |  ------------------
  |  |  |  |  997|  21.9k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 21.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  146|  21.9k|  GLIB_AVAILABLE_MACRO_IN_2_34
  ------------------
  159|  21.9k|                if (value) {
  ------------------
  |  Branch (159:21): [True: 7.30k, False: 14.6k]
  ------------------
  160|  7.30k|                        char *content_type = NULL, *p;
  161|       |
  162|  7.30k|                        parse_content_foo (hdrs, SOUP_HEADER_CONTENT_TYPE, &content_type, NULL);
  163|  7.30k|                        g_assert (content_type != NULL);
  ------------------
  |  |  275|  7.30k|#define g_assert(expr)                  G_STMT_START { \
  |  |  ------------------
  |  |  |  |  989|  7.30k|#define G_STMT_START  do
  |  |  ------------------
  |  |  276|  7.30k|                                             if G_LIKELY (expr) ; else \
  |  |  ------------------
  |  |  |  | 1248|  7.30k|#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
  |  |  |  |  ------------------
  |  |  |  |  |  | 1247|  7.30k|#define _G_BOOLEAN_EXPR(expr) _G_BOOLEAN_EXPR_IMPL (__COUNTER__, expr)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1239|  7.30k| G_GNUC_EXTENSION ({                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   62|  7.30k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1240|  7.30k|   int G_PASTE (_g_boolean_var_, uniq);         \
  |  |  |  |  |  |  |  | 1241|  7.30k|   if (expr)                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1241:8): [True: 7.30k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1242|  7.30k|      G_PASTE (_g_boolean_var_, uniq) = 1;      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1243|  7.30k|   else                                         \
  |  |  |  |  |  |  |  | 1244|  7.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|  7.30k|   G_PASTE (_g_boolean_var_, uniq);             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  865|  7.30k|#define G_PASTE(identifier1,identifier2)      G_PASTE_ARGS (identifier1, identifier2)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  864|  7.30k|#define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1246|  7.30k|})
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1248:25): [True: 7.30k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|  7.30k|                                               g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
  |  |  ------------------
  |  |  |  |  897|      0|#define G_STRFUNC     ((const char*) (__func__))
  |  |  ------------------
  |  |  278|      0|                                                                         #expr); \
  |  |  279|  7.30k|                                        } G_STMT_END
  |  |  ------------------
  |  |  |  |  997|  7.30k|#define G_STMT_END    while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:30): [Folded, False: 7.30k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  7.30k|                        p = strpbrk (content_type, " /");
  166|  7.30k|                        if (!p || *p != '/' || strpbrk (p + 1, " /"))
  ------------------
  |  Branch (166:29): [True: 0, False: 7.30k]
  |  Branch (166:35): [True: 0, False: 7.30k]
  |  Branch (166:48): [True: 0, False: 7.30k]
  ------------------
  167|      0|                                g_free (content_type);
  168|  7.30k|                        else
  169|  7.30k|                                hdrs->content_type = content_type;
  170|  7.30k|                }
  171|  21.9k|                break;
  172|  21.9k|        case SOUP_HEADER_EXPECT:
  ------------------
  |  Branch (172:9): [True: 0, False: 21.9k]
  ------------------
  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.9k]
  ------------------
  182|      0|                break;
  183|  21.9k|        }
  184|  21.9k|}
soup-message-headers.c:is_valid_header_value:
  262|  7.30k|{
  263|  7.30k|        return value && strpbrk (value, "\r\n") == NULL;
  ------------------
  |  Branch (263:16): [True: 7.30k, False: 0]
  |  Branch (263:25): [True: 7.30k, False: 0]
  ------------------
  264|  7.30k|}
soup-message-headers.c:find_last_common_header:
  482|  14.6k|{
  483|  14.6k|        SoupCommonHeader *hdr_array = (SoupCommonHeader *)array->data;
  484|  14.6k|        int i;
  485|       |
  486|  21.9k|        for (i = array->len - 1; i >= 0; i--) {
  ------------------
  |  Branch (486:34): [True: 14.6k, False: 7.30k]
  ------------------
  487|  14.6k|                if (hdr_array[i].name == name) {
  ------------------
  |  Branch (487:21): [True: 7.30k, False: 7.30k]
  ------------------
  488|  7.30k|                        if (nth-- == 0)
  ------------------
  |  Branch (488:29): [True: 7.30k, False: 0]
  ------------------
  489|  7.30k|                                return i;
  490|  7.30k|                }
  491|  14.6k|        }
  492|  7.30k|        return -1;
  493|  14.6k|}
soup-message-headers.c:parse_content_foo:
 1707|  7.30k|{
 1708|  7.30k|	const char *header;
 1709|  7.30k|	char *semi;
 1710|  7.30k|        char *equal;
 1711|       |
 1712|  7.30k|	header = soup_message_headers_get_one_common (hdrs, header_name);
 1713|  7.30k|	if (!header)
  ------------------
  |  Branch (1713:6): [True: 0, False: 7.30k]
  ------------------
 1714|      0|		return FALSE;
  ------------------
  |  |  929|      0|#define	FALSE	(0)
  ------------------
 1715|       |
 1716|       |        /* Some websites send an invalid disposition that only contains parameters;
 1717|       |         * We can be flexible about handling these by detecting if the first word
 1718|       |         * is a parameter (foo=bar). */
 1719|  7.30k|        equal = strchr (header, '=');
 1720|  7.30k|        semi = strchr (header, ';');
 1721|  7.30k|        if (header_name == SOUP_HEADER_CONTENT_DISPOSITION &&
  ------------------
  |  Branch (1721:13): [True: 0, False: 7.30k]
  ------------------
 1722|      0|            (equal && (!semi || (equal < semi)))) {
  ------------------
  |  Branch (1722:14): [True: 0, False: 0]
  |  Branch (1722:24): [True: 0, False: 0]
  |  Branch (1722:33): [True: 0, False: 0]
  ------------------
 1723|      0|                semi = (char *)header;
 1724|      0|                if (foo)
  ------------------
  |  Branch (1724:21): [True: 0, False: 0]
  ------------------
 1725|      0|                        *foo = NULL;
 1726|  7.30k|        } else if (foo) {
  ------------------
  |  Branch (1726:20): [True: 7.30k, False: 0]
  ------------------
 1727|  7.30k|                *foo = g_strdup (header);
  ------------------
  |  |  324|  7.30k|#define g_strdup(x) g_strdup_inline (x)
  ------------------
 1728|  7.30k|                semi = strchr (*foo, ';');
 1729|  7.30k|                if (semi) {
  ------------------
  |  Branch (1729:21): [True: 0, False: 7.30k]
  ------------------
 1730|      0|                        char *p = semi;
 1731|       |
 1732|      0|                        *semi++ = '\0';
 1733|      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 (1733:32): [True: 0, False: 0]
  ------------------
 1734|      0|                                *(--p) = '\0';
 1735|      0|                }
 1736|  7.30k|        } else {
 1737|       |                /* Skip type, we don't store it */
 1738|      0|                if (semi)
  ------------------
  |  Branch (1738:21): [True: 0, False: 0]
  ------------------
 1739|      0|                        semi++;
 1740|      0|        }
 1741|       |
 1742|  7.30k|	if (!params)
  ------------------
  |  Branch (1742:6): [True: 7.30k, False: 0]
  ------------------
 1743|  7.30k|		return TRUE;
  ------------------
  |  |  933|  7.30k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.30k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1744|       |
 1745|      0|	if (!semi) {
  ------------------
  |  Branch (1745:6): [True: 0, False: 0]
  ------------------
 1746|      0|		*params = soup_header_parse_semi_param_list ("");
 1747|      0|		return TRUE;
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1748|      0|	}
 1749|       |
 1750|      0|	*params = soup_header_parse_semi_param_list (semi);
 1751|      0|	return TRUE;
  ------------------
  |  |  933|      0|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1752|      0|}
soup-message-headers.c:set_content_foo:
 1799|  7.30k|{
 1800|  7.30k|	GString *str;
 1801|  7.30k|	GHashTableIter iter;
 1802|  7.30k|	gpointer key, value;
 1803|       |
 1804|  7.30k|	str = g_string_new (foo);
 1805|  7.30k|	if (params) {
  ------------------
  |  Branch (1805:6): [True: 0, False: 7.30k]
  ------------------
 1806|      0|		g_hash_table_iter_init (&iter, params);
 1807|      0|		while (g_hash_table_iter_next (&iter, &key, &value)) {
  ------------------
  |  Branch (1807:10): [True: 0, False: 0]
  ------------------
 1808|      0|                        char *filename = NULL;
 1809|       |
 1810|      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)
  |  |  ------------------
  ------------------
 1811|      0|                        if (g_strcmp0 (key, "filename") == 0)
  ------------------
  |  Branch (1811:29): [True: 0, False: 0]
  ------------------
 1812|      0|                                filename = sanitize_filename (value);
 1813|      0|			soup_header_g_string_append_param (str, key, filename ? filename : value);
  ------------------
  |  Branch (1813:49): [True: 0, False: 0]
  ------------------
 1814|      0|                        g_free (filename);
 1815|      0|		}
 1816|      0|	}
 1817|       |
 1818|  7.30k|	soup_message_headers_replace_common (hdrs, header_name, str->str, SOUP_HEADER_VALUE_UNTRUSTED);
 1819|  7.30k|	g_string_free (str, TRUE);
  ------------------
  |  |  933|  7.30k|#define	TRUE	(!FALSE)
  |  |  ------------------
  |  |  |  |  929|  7.30k|#define	FALSE	(0)
  |  |  ------------------
  ------------------
 1820|  7.30k|}

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

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

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

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

soup-content-sniffer.c:soup_content_sniffer_get_type_once:
 1953|      1|#define G_DEFINE_FINAL_TYPE_WITH_CODE(TN, t_n, T_P, _C_)       _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_FINAL) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() GOBJECT_AVAILABLE_MACRO_IN_2_70
  ------------------
  |  | 2338|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2316|      1|type_name##_get_type_once (void) \
  |  |  |  | 2317|      1|{ \
  |  |  |  | 2318|      1|  GType g_define_type_id = \
  |  |  |  | 2319|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2320|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2321|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2322|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2323|      1|                                       sizeof (TypeName), \
  |  |  |  | 2324|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2325|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2326|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_FINAL_TYPE_WITH_CODE(TN, t_n, T_P, _C_)       _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_FINAL) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() GOBJECT_AVAILABLE_MACRO_IN_2_70
  ------------------
  |  | 2329|      1|    }					\
  |  | 2330|      1|  return g_define_type_id; \
  |  | 2331|      1|} /* closes type_name##_get_type_once() */
  ------------------
soup-content-sniffer.c:soup_content_sniffer_class_intern_init:
 2253|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2254|      1|{ \
 2255|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2256|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2256:7): [True: 0, False: 1]
  ------------------
 2257|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2258|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2259|      1|}
soup-message.c:soup_message_get_type_once:
 2047|      1|#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2338|      1|  _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER (TypeName, type_name, TYPE_PARENT, flags)
  |  |  ------------------
  |  |  |  | 2316|      1|type_name##_get_type_once (void) \
  |  |  |  | 2317|      1|{ \
  |  |  |  | 2318|      1|  GType g_define_type_id = \
  |  |  |  | 2319|      1|        g_type_register_static_simple (TYPE_PARENT, \
  |  |  |  | 2320|      1|                                       g_intern_static_string (#TypeName), \
  |  |  |  | 2321|      1|                                       sizeof (TypeName##Class), \
  |  |  |  | 2322|      1|                                       (GClassInitFunc)(void (*)(void)) type_name##_class_intern_init, \
  |  |  |  | 2323|      1|                                       sizeof (TypeName), \
  |  |  |  | 2324|      1|                                       (GInstanceInitFunc)(void (*)(void)) type_name##_init, \
  |  |  |  | 2325|      1|                                       (GTypeFlags) flags); \
  |  |  |  | 2326|      1|    { /* custom code follows */
  |  |  ------------------
  ------------------
              #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)	    _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
  ------------------
  |  | 2329|      1|    }					\
  |  | 2330|      1|  return g_define_type_id; \
  |  | 2331|      1|} /* closes type_name##_get_type_once() */
  ------------------
soup-message.c:soup_message_class_intern_init:
 2253|      1|static void     type_name##_class_intern_init (gpointer klass) \
 2254|      1|{ \
 2255|      1|  type_name##_parent_class = g_type_class_peek_parent (klass); \
 2256|      1|  if (TypeName##_private_offset != 0) \
  ------------------
  |  Branch (2256:7): [True: 1, False: 0]
  ------------------
 2257|      1|    g_type_class_adjust_private_offset (klass, &TypeName##_private_offset); \
 2258|      1|  type_name##_class_init ((TypeName##Class*) klass); \
 2259|      1|}
soup-message.c:SOUP_MESSAGE:
 1611|  25.5k|  G_GNUC_UNUSED static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) {                       \
 1612|  25.5k|    return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); }             \
  ------------------
  |  |  528|  25.5k|#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
  |  |  ------------------
  |  |  |  | 2656|  25.5k|#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
  |  |  ------------------
  ------------------
soup-message.c:SOUP_IS_MESSAGE:
 1613|  32.8k|  G_GNUC_UNUSED static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) {                           \
 1614|  32.8k|    return G_TYPE_CHECK_INSTANCE_TYPE (ptr, module_obj_name##_get_type ()); }                            \
  ------------------
  |  |  541|  32.8k|#define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT ((instance), (g_type)))
  |  |  ------------------
  |  |  |  | 2671|  32.8k|#  define _G_TYPE_CIT(ip, gt)             (G_GNUC_EXTENSION ({ \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  32.8k|#define G_GNUC_EXTENSION __extension__
  |  |  |  |  ------------------
  |  |  |  | 2672|  32.8k|  GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
  |  |  |  | 2673|  32.8k|  if (!__inst) \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2673:7): [True: 0, False: 32.8k]
  |  |  |  |  ------------------
  |  |  |  | 2674|  32.8k|    __r = FALSE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  929|      0|#define	FALSE	(0)
  |  |  |  |  ------------------
  |  |  |  | 2675|  32.8k|  else if (__inst->g_class && __inst->g_class->g_type == __t) \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2675:12): [True: 32.8k, False: 0]
  |  |  |  |  |  Branch (2675:31): [True: 32.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 2676|  32.8k|    __r = TRUE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  933|  32.8k|#define	TRUE	(!FALSE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  929|  32.8k|#define	FALSE	(0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2677|  32.8k|  else \
  |  |  |  | 2678|  32.8k|    __r = g_type_check_instance_is_a (__inst, __t); \
  |  |  |  | 2679|  32.8k|  __r; \
  |  |  |  | 2680|  32.8k|}))
  |  |  ------------------
  ------------------
soup-message.c:soup_message_get_instance_private:
 2293|  66.9k|type_name##_get_instance_private (TypeName *self) \
 2294|  66.9k|{ \
 2295|  66.9k|  return (G_STRUCT_MEMBER_P (self, TypeName##_private_offset)); \
  ------------------
  |  |  975|  66.9k|    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
  ------------------
 2296|  66.9k|} \
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|}

