]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix build with glib < 2.40
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 24 Sep 2016 12:11:53 +0000 (13:11 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 24 Sep 2016 12:11:53 +0000 (13:11 +0100)
src/libserver/spf.c
src/libutil/util.c
src/libutil/util.h

index dd7843eae9f70df2d0192c853597e8d4c767dbed..2459ee7cc3580e7211b78cc9845ba595cbb92e5f 100644 (file)
@@ -1802,20 +1802,20 @@ spf_dns_callback (struct rdns_reply *reply, gpointer arg)
                        && rec->dns_requests == 0) {
                resolved = rspamd_spf_new_addr_list (rec, rec->sender_domain);
                struct spf_addr *addr;
-               addr = g_slice_alloc0 (sizeof (*addr));
+               addr = g_slice_alloc0 (sizeof(*addr));
                addr->flags = 0;
                addr->flags |= RSPAMD_SPF_FLAG_NA;
-               g_ptr_array_insert(resolved->elts, 0, addr);
+               g_ptr_array_insert (resolved->elts, 0, addr);
        }
+
        if (!spf_process_txt_record (rec, resolved, reply)) {
                if (rec->dns_requests == 0) {
-                       resolved = g_ptr_array_index (rec->resolved, 0);
+                       resolved = g_ptr_array_index(rec->resolved, 0);
                        struct spf_addr *addr;
-                       addr = g_slice_alloc0 (sizeof (*addr));
+                       addr = g_slice_alloc0 (sizeof(*addr));
                        addr->flags = 0;
                        addr->flags |= RSPAMD_SPF_FLAG_NA;
-                       g_ptr_array_insert(resolved->elts, 0, addr);
+                       g_ptr_array_insert (resolved->elts, 0, addr);
                }
        }
 
index 7e7614005231453756a6cfe1f6a73658ce022503..9ca5bbce84648ad48b78a633ce351612619c58bd 100644 (file)
@@ -1424,6 +1424,29 @@ g_queue_free_full (GQueue *queue, GDestroyNotify free_func)
 }
 #endif
 
+#if ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION < 40))
+void
+g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data)
+{
+       g_return_if_fail (array);
+       g_return_if_fail (index_ >= -1);
+       g_return_if_fail (index_ <= (gint )array->len);
+
+       g_ptr_array_set_size (array, array->len + 1);
+
+       if (index_ < 0) {
+               index_ = array->len;
+       }
+
+       if (index_ < array->len) {
+               memmove (&(array->pdata[index_ + 1]), &(array->pdata[index_]),
+                               (array->len - index_) * sizeof(gpointer));
+       }
+
+       array->pdata[index_] = data;
+}
+#endif
+
 gint
 rspamd_fallocate (gint fd, off_t offset, off_t len)
 {
index 564d00b12979f95c92a74ca9816f2fa1dc140816..946d9f09adeb36d418c99faeb475a23bbfa3256e 100644 (file)
@@ -186,6 +186,9 @@ void g_queue_clear (GQueue *queue);
 #if ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION < 32))
 void g_queue_free_full (GQueue *queue, GDestroyNotify free_func);
 #endif
+#if ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION < 40))
+void g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data)
+#endif
 
 /*
  * Convert milliseconds to timeval fields