Make the "length" argument of the tvb_mem* functions a size_t since it's
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 3 Apr 2009 15:30:38 +0000 (15:30 +0000)
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 3 Apr 2009 15:30:38 +0000 (15:30 +0000)
not uncommon to pass them the result of pointer arithmetic. Add size_t
casts in other areas.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27941 f5534014-38df-0310-8fa8-9805f1628bb7

epan/tvbuff.c
epan/tvbuff.h

index a14695dcb69d2e1f2f2f3af64b4d88858d751a09..9d0a573a38fcab84bfcf7ec060378e257cac644c 100644 (file)
@@ -949,7 +949,7 @@ guint8_pbrk(const guint8* haystack, size_t haystacklen, const guint8 *needles)
 /************** ACCESSORS **************/
 
 static void*
-composite_memcpy(tvbuff_t *tvb, guint8* target, guint abs_offset, guint abs_length)
+composite_memcpy(tvbuff_t *tvb, guint8* target, guint abs_offset, size_t abs_length)
 {
        guint           i, num_members;
        tvb_comp_t      *composite;
@@ -975,7 +975,7 @@ composite_memcpy(tvbuff_t *tvb, guint8* target, guint abs_offset, guint abs_leng
        DISSECTOR_ASSERT(member_tvb);
 
        if (check_offset_length_no_exception(member_tvb, abs_offset - composite->start_offsets[i],
-                               abs_length, &member_offset, &member_length, NULL)) {
+                               (gint) abs_length, &member_offset, &member_length, NULL)) {
 
                DISSECTOR_ASSERT(!tvb->real_data);
                return tvb_memcpy(member_tvb, target, member_offset, member_length);
@@ -1007,12 +1007,12 @@ composite_memcpy(tvbuff_t *tvb, guint8* target, guint abs_offset, guint abs_leng
 }
 
 void*
-tvb_memcpy(tvbuff_t *tvb, void* target, gint offset, gint length)
+tvb_memcpy(tvbuff_t *tvb, void* target, gint offset, size_t length)
 {
        guint   abs_offset, abs_length;
 
        DISSECTOR_ASSERT(length >= -1);
-       check_offset_length(tvb, offset, length, &abs_offset, &abs_length);
+       check_offset_length(tvb, offset, (gint) length, &abs_offset, &abs_length);
 
        if (tvb->real_data) {
                return memcpy(target, tvb->real_data + abs_offset, abs_length);
@@ -1047,12 +1047,12 @@ tvb_memcpy(tvbuff_t *tvb, void* target, gint offset, gint length)
  * meaning "to the end of the buffer"?
  */
 void*
-tvb_memdup(tvbuff_t *tvb, gint offset, gint length)
+tvb_memdup(tvbuff_t *tvb, gint offset, size_t length)
 {
        guint   abs_offset, abs_length;
        void    *duped;
 
-       check_offset_length(tvb, offset, length, &abs_offset, &abs_length);
+       check_offset_length(tvb, offset, (gint) length, &abs_offset, &abs_length);
 
        duped = g_malloc(abs_length);
        return tvb_memcpy(tvb, duped, abs_offset, abs_length);
@@ -1075,12 +1075,12 @@ tvb_memdup(tvbuff_t *tvb, gint offset, gint length)
  * after the current packet has been dissected.
  */
 void*
-ep_tvb_memdup(tvbuff_t *tvb, gint offset, gint length)
+ep_tvb_memdup(tvbuff_t *tvb, gint offset, size_t length)
 {
        guint   abs_offset, abs_length;
        void    *duped;
 
-       check_offset_length(tvb, offset, length, &abs_offset, &abs_length);
+       check_offset_length(tvb, offset, (gint) length, &abs_offset, &abs_length);
 
        duped = ep_alloc(abs_length);
        return tvb_memcpy(tvb, duped, abs_offset, abs_length);
@@ -1743,7 +1743,7 @@ tvb_find_guint8(tvbuff_t *tvb, gint offset, gint maxlength, guint8 needle)
                        return -1;
                }
                else {
-                       return result - tvb->real_data;
+                       return (gint) (result - tvb->real_data);
                }
        }
 
@@ -1806,7 +1806,7 @@ tvb_pbrk_guint8(tvbuff_t *tvb, gint offset, gint maxlength, const guint8 *needle
                        return -1;
                }
                else {
-                       return result - tvb->real_data;
+                       return (gint) (result - tvb->real_data);
                }
        }
 
@@ -1946,11 +1946,11 @@ tvb_strncaseeql(tvbuff_t *tvb, gint offset, const gchar *str, gint size)
  * it returns 0 (meaning "equal") and -1 otherwise, otherwise return -1.
  */
 gint
-tvb_memeql(tvbuff_t *tvb, gint offset, const guint8 *str, gint size)
+tvb_memeql(tvbuff_t *tvb, gint offset, const guint8 *str, size_t size)
 {
        const guint8 *ptr;
 
-       ptr = ensure_contiguous_no_exception(tvb, offset, size, NULL);
+       ptr = ensure_contiguous_no_exception(tvb, offset, (gint) size, NULL);
 
        if (ptr) {
                int cmp = memcmp(ptr, str, size);
@@ -2742,7 +2742,7 @@ tvb_find_tvb(tvbuff_t *haystack_tvb, tvbuff_t *needle_tvb, gint haystack_offset)
                        needle_data, needle_len);
 
        if (location) {
-               return location - haystack_data;
+               return (gint) (location - haystack_data);
        }
        else {
                return -1;
@@ -2983,7 +2983,7 @@ tvb_uncompress(tvbuff_t *tvb, int offset, int comprlen)
                                g_free(strmbuf);
                                return NULL;
                        }
-                       comprlen -= (c - compr);
+                       comprlen -= (int) (c - compr);
 
                        inflateEnd(strm);
                        err = inflateInit2(strm, wbits);
index 91e704a148ab947806b62d56020ac19650f26023..6c203f5f2881859fc6acd99324571737f524f019 100644 (file)
@@ -351,17 +351,17 @@ extern guint64 tvb_get_bits64(tvbuff_t *tvb, gint bit_offset, gint no_of_bits, g
  * different TVBUFF_REAL_DATA tvbuffs. This function assumes that the
  * target memory is already allocated; it does not allocate or free the
  * target memory. */
-extern void* tvb_memcpy(tvbuff_t*, void* target, gint offset, gint length);
+extern void* tvb_memcpy(tvbuff_t*, void* target, gint offset, size_t length);
 
 /** It is the user's responsibility to g_free() the memory allocated by
  * tvb_memdup(). Calls tvb_memcpy() */
-extern void* tvb_memdup(tvbuff_t*, gint offset, gint length);
+extern void* tvb_memdup(tvbuff_t*, gint offset, size_t length);
 
 /* Same as above but the buffer returned from this function does not have to
 * be freed. It will be automatically freed after the packet is dissected.
 * Buffers allocated by this function are NOT persistent.
 */
-extern void* ep_tvb_memdup(tvbuff_t *tvb, gint offset, gint length);
+extern void* ep_tvb_memdup(tvbuff_t *tvb, gint offset, size_t length);
 
 /** WARNING! This function is possibly expensive, temporarily allocating
  * another copy of the packet data. Furthermore, it's dangerous because once
@@ -605,7 +605,7 @@ extern gint tvb_strncaseeql(tvbuff_t *tvb, gint offset, const gchar *str,
  * it returns 0 (meaning "equal") and -1 otherwise, otherwise return -1.
  */
 extern gint tvb_memeql(tvbuff_t *tvb, gint offset, const guint8 *str,
-    gint size);
+    size_t size);
 
 /**
  * Format a bunch of data from a tvbuff as bytes, returning a pointer