summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJonathan Bastien-Filiatrault <joe@x2a.org>2009-08-09 14:30:54 -0400
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-06-03 19:37:54 +0200
commit5217d518cdbe3e9cf32c3d72514d0f15242d67c2 (patch)
treea9d1103be1dbca79c341d4799bc0e3920c8f3447 /lib
parentf816631c8cdf8c1117248593ce3f9e6e40dea009 (diff)
downloadgnutls-5217d518cdbe3e9cf32c3d72514d0f15242d67c2.tar.gz
Pass datums to mbuffers by address instead of by value.
Diffstat (limited to 'lib')
-rw-r--r--lib/gnutls_buffers.c2
-rw-r--r--lib/gnutls_mbuffers.c16
-rw-r--r--lib/gnutls_mbuffers.h4
3 files changed, 11 insertions, 11 deletions
diff --git a/lib/gnutls_buffers.c b/lib/gnutls_buffers.c
index 01e085b8c6..8d7fd62d75 100644
--- a/lib/gnutls_buffers.c
+++ b/lib/gnutls_buffers.c
@@ -672,7 +672,7 @@ _gnutls_io_write_buffered (gnutls_session_t session,
msg.data = iptr;
msg.size = n;
- _gnutls_mbuffer_enqueue_copy(send_buffer, msg);
+ _gnutls_mbuffer_enqueue_copy(send_buffer, &msg);
_gnutls_write_log
("WRITE: enqueued %d bytes for %p. Total %d bytes.\n",
(int)n, session->internals.transport_recv_ptr,
diff --git a/lib/gnutls_mbuffers.c b/lib/gnutls_mbuffers.c
index b2db65b1d7..34c5e6cf4e 100644
--- a/lib/gnutls_mbuffers.c
+++ b/lib/gnutls_mbuffers.c
@@ -53,7 +53,7 @@ _gnutls_mbuffer_clear (mbuffer_head_st *buf)
}
int
-_gnutls_mbuffer_enqueue (mbuffer_head_st *buf, gnutls_datum_t msg)
+_gnutls_mbuffer_enqueue (mbuffer_head_st *buf, const gnutls_datum_t *msg)
{
mbuffer_st *bufel = gnutls_malloc (sizeof (mbuffer_st));
@@ -66,10 +66,10 @@ _gnutls_mbuffer_enqueue (mbuffer_head_st *buf, gnutls_datum_t msg)
bufel->next = NULL;
bufel->mark = 0;
- bufel->msg = msg;
+ bufel->msg = *msg;
buf->length++;
- buf->byte_length += msg.size;
+ buf->byte_length += msg->size;
*(buf->tail) = bufel;
buf->tail = &bufel->next;
@@ -78,11 +78,11 @@ _gnutls_mbuffer_enqueue (mbuffer_head_st *buf, gnutls_datum_t msg)
}
int
-_gnutls_mbuffer_enqueue_copy (mbuffer_head_st *buf, gnutls_datum_t msg)
+_gnutls_mbuffer_enqueue_copy (mbuffer_head_st *buf, const gnutls_datum_t *msg)
{
gnutls_datum_t msg_copy;
- msg_copy.data = gnutls_malloc (msg.size);
+ msg_copy.data = gnutls_malloc (msg->size);
if (msg_copy.data == NULL)
{
@@ -90,10 +90,10 @@ _gnutls_mbuffer_enqueue_copy (mbuffer_head_st *buf, gnutls_datum_t msg)
return GNUTLS_E_MEMORY_ERROR;
}
- msg_copy.size = msg.size;
- memcpy (msg_copy.data, msg.data, msg_copy.size);
+ msg_copy.size = msg->size;
+ memcpy (msg_copy.data, msg->data, msg_copy.size);
- return _gnutls_mbuffer_enqueue (buf, msg_copy);
+ return _gnutls_mbuffer_enqueue (buf, &msg_copy);
}
void
diff --git a/lib/gnutls_mbuffers.h b/lib/gnutls_mbuffers.h
index 69a4b95546..910e5b1df9 100644
--- a/lib/gnutls_mbuffers.h
+++ b/lib/gnutls_mbuffers.h
@@ -29,8 +29,8 @@
void _gnutls_mbuffer_init (mbuffer_head_st *buf);
void _gnutls_mbuffer_clear (mbuffer_head_st *buf);
-int _gnutls_mbuffer_enqueue (mbuffer_head_st *buf, gnutls_datum_t msg);
-int _gnutls_mbuffer_enqueue_copy (mbuffer_head_st *buf, gnutls_datum_t msg);
+int _gnutls_mbuffer_enqueue (mbuffer_head_st *buf, const gnutls_datum_t *msg);
+int _gnutls_mbuffer_enqueue_copy (mbuffer_head_st *buf, const gnutls_datum_t *msg);
void _gnutls_mbuffer_get_head (mbuffer_head_st *buf, gnutls_datum_t *msg);
int _gnutls_mbuffer_remove_bytes (mbuffer_head_st *buf, size_t bytes);