[libsoup/carlosgc/clean-refcounted: 4/4] Rename soup_message_headers_free as soup_message_headers_unref




commit 34020dde1b26d9a08c9308ccfc397f23b39e8edc
Author: Carlos Garcia Campos <cgarcia igalia com>
Date:   Wed Mar 24 11:20:01 2021 +0100

    Rename soup_message_headers_free as soup_message_headers_unref
    
    And soup_message_headers_copy as soup_message_headers_ref that is now
    public.

 docs/reference/libsoup-3.0-sections.txt |  3 ++-
 libsoup/cache/soup-cache.c              |  4 ++--
 libsoup/server/soup-server-io.c         |  2 +-
 libsoup/server/soup-server-message.c    |  4 ++--
 libsoup/soup-message-headers.c          | 24 +++++++++++++++++-------
 libsoup/soup-message-headers.h          |  7 +++++--
 libsoup/soup-message.c                  |  4 ++--
 libsoup/soup-multipart-input-stream.c   |  4 ++--
 libsoup/soup-multipart.c                |  2 +-
 tests/cache-test.c                      |  2 +-
 tests/header-parsing-test.c             | 12 ++++++------
 11 files changed, 41 insertions(+), 27 deletions(-)
---
diff --git a/docs/reference/libsoup-3.0-sections.txt b/docs/reference/libsoup-3.0-sections.txt
index 9b08dc8c..c15bda3d 100644
--- a/docs/reference/libsoup-3.0-sections.txt
+++ b/docs/reference/libsoup-3.0-sections.txt
@@ -99,7 +99,8 @@ SOUP_METHOD_UNLOCK
 SoupMessageHeaders
 SoupMessageHeadersType
 soup_message_headers_new
-soup_message_headers_free
+soup_message_headers_ref
+soup_message_headers_unref
 <SUBSECTION>
 soup_message_headers_append
 soup_message_headers_replace
diff --git a/libsoup/cache/soup-cache.c b/libsoup/cache/soup-cache.c
index 02d97974..f9303cec 100644
--- a/libsoup/cache/soup-cache.c
+++ b/libsoup/cache/soup-cache.c
@@ -285,7 +285,7 @@ static void
 soup_cache_entry_free (SoupCacheEntry *entry)
 {
        g_free (entry->uri);
-       g_clear_pointer (&entry->headers, soup_message_headers_free);
+       g_clear_pointer (&entry->headers, soup_message_headers_unref);
        g_clear_object (&entry->cancellable);
 
        g_slice_free (SoupCacheEntry, entry);
@@ -1610,7 +1610,7 @@ soup_cache_load (SoupCache *cache)
                /* Check that we have headers */
                soup_message_headers_iter_init (&soup_headers_iter, headers);
                if (!soup_message_headers_iter_next (&soup_headers_iter, &header_key, &header_value)) {
-                       soup_message_headers_free (headers);
+                       soup_message_headers_unref (headers);
                        continue;
                }
 
diff --git a/libsoup/server/soup-server-io.c b/libsoup/server/soup-server-io.c
index 37b484ff..5cc240b1 100644
--- a/libsoup/server/soup-server-io.c
+++ b/libsoup/server/soup-server-io.c
@@ -256,7 +256,7 @@ handle_partial_get (SoupServerMessage *msg)
                                                             ranges[i].end - ranges[i].start + 1);
                         soup_multipart_append_part (multipart, part_headers,
                                                     part_body);
-                        soup_message_headers_free (part_headers);
+                        soup_message_headers_unref (part_headers);
                         g_bytes_unref (part_body);
                 }
 
diff --git a/libsoup/server/soup-server-message.c b/libsoup/server/soup-server-message.c
index 22311c5b..d51f5bee 100644
--- a/libsoup/server/soup-server-message.c
+++ b/libsoup/server/soup-server-message.c
@@ -131,9 +131,9 @@ soup_server_message_finalize (GObject *object)
         g_free (msg->reason_phrase);
 
         soup_message_body_unref (msg->request_body);
-        soup_message_headers_free (msg->request_headers);
+        soup_message_headers_unref (msg->request_headers);
         soup_message_body_unref (msg->response_body);
-        soup_message_headers_free (msg->response_headers);
+        soup_message_headers_unref (msg->response_headers);
 
         G_OBJECT_CLASS (soup_server_message_parent_class)->finalize (object);
 }
diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c
index 81d53b8f..3abdb328 100644
--- a/libsoup/soup-message-headers.c
+++ b/libsoup/soup-message-headers.c
@@ -84,8 +84,16 @@ soup_message_headers_new (SoupMessageHeadersType type)
        return hdrs;
 }
 
-static SoupMessageHeaders *
-soup_message_headers_copy (SoupMessageHeaders *hdrs)
+/**
+ * soup_message_headers_ref:
+ * @hdrs: a #SoupMessageHeaders
+ *
+ * Atomically increments the reference count of @hdrs by one.
+ *
+ * Returns: the passed in #SoupMessageHeaders
+ */
+SoupMessageHeaders *
+soup_message_headers_ref (SoupMessageHeaders *hdrs)
 {
        g_atomic_rc_box_acquire (hdrs);
 
@@ -101,18 +109,20 @@ soup_message_headers_destroy (SoupMessageHeaders *hdrs)
 }
 
 /**
- * soup_message_headers_free:
+ * soup_message_headers_unref:
  * @hdrs: a #SoupMessageHeaders
  *
- * Frees @hdrs.
- **/
+ * Atomically decrements the reference count of @hdrs by one.
+ * When the reference count reaches zero, the resources allocated by
+ * @hdrs are freed
+ */
 void
-soup_message_headers_free (SoupMessageHeaders *hdrs)
+soup_message_headers_unref (SoupMessageHeaders *hdrs)
 {
         g_atomic_rc_box_release_full (hdrs, (GDestroyNotify)soup_message_headers_destroy);
 }
 
-G_DEFINE_BOXED_TYPE (SoupMessageHeaders, soup_message_headers, soup_message_headers_copy, 
soup_message_headers_free)
+G_DEFINE_BOXED_TYPE (SoupMessageHeaders, soup_message_headers, soup_message_headers_ref, 
soup_message_headers_unref)
 
 /**
  * soup_message_headers_get_headers_type:
diff --git a/libsoup/soup-message-headers.h b/libsoup/soup-message-headers.h
index 4348547f..a355a7bb 100644
--- a/libsoup/soup-message-headers.h
+++ b/libsoup/soup-message-headers.h
@@ -24,7 +24,10 @@ SOUP_AVAILABLE_IN_ALL
 SoupMessageHeaders *soup_message_headers_new      (SoupMessageHeadersType type);
 
 SOUP_AVAILABLE_IN_ALL
-void                soup_message_headers_free     (SoupMessageHeaders *hdrs);
+SoupMessageHeaders *soup_message_headers_ref      (SoupMessageHeaders *hdrs);
+
+SOUP_AVAILABLE_IN_ALL
+void                soup_message_headers_unref    (SoupMessageHeaders *hdrs);
 
 SOUP_AVAILABLE_IN_ALL
 void                soup_message_headers_append   (SoupMessageHeaders *hdrs,
@@ -169,6 +172,6 @@ void     soup_message_headers_set_content_disposition (SoupMessageHeaders  *hdrs
                                                       const char          *disposition,
                                                       GHashTable          *params);
 
-G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoupMessageHeaders, soup_message_headers_free)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoupMessageHeaders, soup_message_headers_unref)
 
 G_END_DECLS
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index ff4a278d..425c4291 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -175,8 +175,8 @@ soup_message_finalize (GObject *object)
 
        g_clear_object (&priv->tls_certificate);
 
-       soup_message_headers_free (priv->request_headers);
-       soup_message_headers_free (priv->response_headers);
+       soup_message_headers_unref (priv->request_headers);
+       soup_message_headers_unref (priv->response_headers);
        g_clear_object (&priv->request_body_stream);
 
        g_free (priv->reason_phrase);
diff --git a/libsoup/soup-multipart-input-stream.c b/libsoup/soup-multipart-input-stream.c
index fc10b525..8dce93a2 100644
--- a/libsoup/soup-multipart-input-stream.c
+++ b/libsoup/soup-multipart-input-stream.c
@@ -345,7 +345,7 @@ soup_multipart_input_stream_parse_headers (SoupMultipartInputStream *multipart)
        if (success)
                priv->remaining_bytes = soup_message_headers_get_content_length (priv->current_headers);
        else
-               g_clear_pointer (&priv->current_headers, soup_message_headers_free);
+               g_clear_pointer (&priv->current_headers, soup_message_headers_unref);
 
        g_byte_array_remove_range (priv->meta_buf, 0, priv->meta_buf->len);
 }
@@ -364,7 +364,7 @@ soup_multipart_input_stream_read_headers (SoupMultipartInputStream  *multipart,
 
        g_return_val_if_fail (priv->boundary != NULL, TRUE);
 
-       g_clear_pointer (&priv->current_headers, soup_message_headers_free);
+       g_clear_pointer (&priv->current_headers, soup_message_headers_unref);
 
        while (1) {
                nread = soup_filter_input_stream_read_line (priv->base_stream, read_buf, sizeof (read_buf),
diff --git a/libsoup/soup-multipart.c b/libsoup/soup-multipart.c
index 1e11aa59..d2ea1b5b 100644
--- a/libsoup/soup-multipart.c
+++ b/libsoup/soup-multipart.c
@@ -53,7 +53,7 @@ soup_multipart_new_internal (char *mime_type, char *boundary)
        multipart = g_slice_new (SoupMultipart);
        multipart->mime_type = mime_type;
        multipart->boundary = boundary;
-       multipart->headers = g_ptr_array_new_with_free_func ((GDestroyNotify)soup_message_headers_free);
+       multipart->headers = g_ptr_array_new_with_free_func ((GDestroyNotify)soup_message_headers_unref);
        multipart->bodies = g_ptr_array_new_with_free_func ((GDestroyNotify)g_bytes_unref);
 
        return multipart;
diff --git a/tests/cache-test.c b/tests/cache-test.c
index 781b3355..97710047 100644
--- a/tests/cache-test.c
+++ b/tests/cache-test.c
@@ -652,7 +652,7 @@ do_headers_test (gconstpointer data)
 
        header_value = soup_message_headers_get_list (headers, "My-Header");
        g_assert_cmpstr (header_value, ==, "My header NEW value");
-       soup_message_headers_free (headers);
+       soup_message_headers_unref (headers);
 
        soup_test_session_abort_unref (session);
        g_object_unref (cache);
diff --git a/tests/header-parsing-test.c b/tests/header-parsing-test.c
index bc701378..b7c46ea0 100644
--- a/tests/header-parsing-test.c
+++ b/tests/header-parsing-test.c
@@ -901,7 +901,7 @@ do_request_tests (void)
 
                g_free (method);
                g_free (path);
-               soup_message_headers_free (headers);
+               soup_message_headers_unref (headers);
        }
 }
 
@@ -937,7 +937,7 @@ do_response_tests (void)
                        g_assert_null (resptests[i].reason_phrase);
 
                g_free (reason_phrase);
-               soup_message_headers_free (headers);
+               soup_message_headers_unref (headers);
        }
 }
 
@@ -1100,7 +1100,7 @@ do_content_disposition_tests (void)
        g_assert_cmpstr (filename, ==, RFC5987_TEST_FALLBACK_FILENAME);
        g_hash_table_destroy (params);
 
-       soup_message_headers_free (hdrs);
+       soup_message_headers_unref (hdrs);
 
        /* Ensure that soup-multipart always quotes filename */
        g_test_bug ("641280");
@@ -1112,7 +1112,7 @@ do_content_disposition_tests (void)
 
        hdrs = soup_message_headers_new (SOUP_MESSAGE_HEADERS_MULTIPART);
        soup_multipart_to_message (multipart, hdrs, &buffer);
-       soup_message_headers_free (hdrs);
+       soup_message_headers_unref (hdrs);
        soup_multipart_free (multipart);
 
        g_assert_nonnull (strstr (g_bytes_get_data (buffer, NULL), "filename=\"token\""));
@@ -1167,7 +1167,7 @@ do_content_type_tests (void)
        mime_type = soup_message_headers_get_content_type (hdrs, &params);
        g_assert_null (mime_type);
 
-       soup_message_headers_free (hdrs);
+       soup_message_headers_unref (hdrs);
 }
 
 struct {
@@ -1232,7 +1232,7 @@ do_bad_header_tests (void)
                                             bad_headers[i].value);
                g_test_assert_expected_messages ();
        }
-       soup_message_headers_free (hdrs);
+       soup_message_headers_unref (hdrs);
 }
 
 int


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]