From c9d3974ffd4786bb477a9e85573ef531ebe2f563 Mon Sep 17 00:00:00 2001
From: Martin Nilsson <nilsson@opera.com>
Date: Wed, 3 Sep 2014 20:41:24 +0200
Subject: [PATCH] Don't cast memcpy void* arguments.

---
 src/array.c                                     |  2 +-
 src/array.h                                     |  4 ++--
 src/builtin.cmod                                |  2 +-
 src/builtin_functions.c                         |  2 +-
 src/docode.c                                    |  2 +-
 src/modules/SANE/sane.c                         |  2 +-
 src/modules/_WhiteFish/resultset.c              |  2 +-
 src/modules/system/system.c                     | 10 +++++-----
 src/pike_memory.c                               |  2 +-
 src/port.c                                      |  6 +++---
 src/port.h                                      |  8 ++++----
 src/post_modules/GTK1/source/encode_truecolor.c |  4 ++--
 src/post_modules/GTK1/source/support.c          | 10 +++++-----
 src/post_modules/GTK2/source/encode_truecolor.c |  4 ++--
 src/post_modules/GTK2/source/support.c          | 10 +++++-----
 src/stralloc.h                                  |  6 +++---
 src/svalue.c                                    |  2 +-
 17 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/src/array.c b/src/array.c
index e7c34c9f45..3203568245 100644
--- a/src/array.c
+++ b/src/array.c
@@ -2255,7 +2255,7 @@ PMOD_EXPORT struct array *aggregate_array(INT32 args)
 
   a=allocate_array_no_init(args,0);
   if (args) {
-    memcpy((char *)ITEM(a),(char *)(Pike_sp-args),args*sizeof(struct svalue));
+    memcpy(ITEM(a),Pike_sp-args,args*sizeof(struct svalue));
     array_fix_type_field (a);
     Pike_sp-=args;
     DO_IF_DMALLOC(while(args--) dmalloc_touch_svalue(Pike_sp + args));
diff --git a/src/array.h b/src/array.h
index 12d6f12dd5..b2f4215ca1 100644
--- a/src/array.h
+++ b/src/array.h
@@ -259,8 +259,8 @@ void assign_array_level( struct array *a, struct array *b, int level );
       } END_ACCEPT_UNFINISHED_TYPE_FIELDS;				\
       /* Unless the user does something, the type field will contain */	\
       /* BIT_MIXED|BIT_UNFINISHED from the allocation above. */		\
-      memcpy((char *) (ITEM(base_sval[-1].u.array) + oldsize__),	\
-	     (char *) base_sval, diff__ * sizeof(struct svalue));	\
+      memcpy(ITEM(base_sval[-1].u.array) + oldsize__,                   \
+	     base_sval, diff__ * sizeof(struct svalue));                \
       Pike_sp = base_sval;						\
     }									\
   } while (0)
diff --git a/src/builtin.cmod b/src/builtin.cmod
index 4dafedb2a3..9c1a98dd94 100644
--- a/src/builtin.cmod
+++ b/src/builtin.cmod
@@ -3115,7 +3115,7 @@ PIKECLASS Buffer
     str2->initial = end -= start-1;
     init_string_builder_alloc (&str2->str, end, shift);
     p = s->str;
-    memcpy ((s = str2->str.s)->str, (char*)p+(start<<shift), end<<shift);
+    memcpy ((s = str2->str.s)->str, p+(start<<shift), end<<shift);
     s->str[end<<shift] = 0;			// Ensure NUL-termination
     s->len = end;
     if( (Pike_fp->current_object->flags & OBJECT_CLEAR_ON_EXIT) )
diff --git a/src/builtin_functions.c b/src/builtin_functions.c
index 77fa452e32..a163d3f0b4 100644
--- a/src/builtin_functions.c
+++ b/src/builtin_functions.c
@@ -1904,7 +1904,7 @@ PMOD_EXPORT void f_unicode_to_string(INT32 args)
      * FIXME: Future optimization: Perform sufficient magic
      * to do the conversion in place if the ref-count is == 1.
      */
-      memcpy(out->str, (char *)(str0-len), len*2);
+      memcpy(out->str, str0-len, len*2);
   } else {
     /* Reverse endian */
     
diff --git a/src/docode.c b/src/docode.c
index 8971db960c..a7e8b70db2 100644
--- a/src/docode.c
+++ b/src/docode.c
@@ -173,7 +173,7 @@ static struct switch_data current_switch = {0, 0, 0, 0, 0, NULL, NULL};
 
 void upd_int(int offset, INT32 tmp)
 {
-  memcpy(Pike_compiler->new_program->program+offset, (char *)&tmp,sizeof(tmp));
+  memcpy(Pike_compiler->new_program->program+offset, &tmp, sizeof(tmp));
 }
 
 INT32 read_int(int offset)
diff --git a/src/modules/SANE/sane.c b/src/modules/SANE/sane.c
index 9719b800a2..ff0310d06a 100644
--- a/src/modules/SANE/sane.c
+++ b/src/modules/SANE/sane.c
@@ -651,7 +651,7 @@ static void nonblocking_row_scan_callback( int fd, void *_c )
            }
            break;
          case SANE_FRAME_RGB:
-           memcpy( (char *)c->r, c->buffer, c->p.bytes_per_line );
+           memcpy( c->r, c->buffer, c->p.bytes_per_line );
            break;
          default:break;
         }
diff --git a/src/modules/_WhiteFish/resultset.c b/src/modules/_WhiteFish/resultset.c
index b1939a27c8..f6d462840d 100644
--- a/src/modules/_WhiteFish/resultset.c
+++ b/src/modules/_WhiteFish/resultset.c
@@ -434,7 +434,7 @@ static void duplicate_resultset( struct object *dest,
     int size = 4+4*T(src)->allocated_size*2;
     T(dest)->allocated_size = T(src)->allocated_size;
     T(dest)->d              = malloc( size );
-    memcpy( (char *)T(dest)->d, (char *)T(src)->d, size );
+    memcpy( T(dest)->d, T(src)->d, size );
   }
 }
 
diff --git a/src/modules/system/system.c b/src/modules/system/system.c
index b388fdceed..86f692ff74 100644
--- a/src/modules/system/system.c
+++ b/src/modules/system/system.c
@@ -1984,7 +1984,7 @@ int get_inet_addr(PIKE_SOCKADDR *addr,char *name,char *service, INT_TYPE port,
     if(found) {
 /*       fprintf(stderr, "Got %d bytes (family: %d (%d))\n", */
 /* 	      addr_len, found->ai_addr->sa_family, found->ai_family); */
-      memcpy((char *)addr, (char *)found->ai_addr, addr_len);
+      memcpy(addr, found->ai_addr, addr_len);
     }
     freeaddrinfo(res);
     if(addr_len) {
@@ -2049,12 +2049,12 @@ int get_inet_addr(PIKE_SOCKADDR *addr,char *name,char *service, INT_TYPE port,
     SOCKADDR_FAMILY(*addr) = ret->h_addrtype;
 
 #ifdef HAVE_H_ADDR_LIST
-    memcpy((char *)SOCKADDR_IN_ADDR(*addr),
-           (char *)ret->h_addr_list[0],
+    memcpy(SOCKADDR_IN_ADDR(*addr),
+           ret->h_addr_list[0],
            ret->h_length);
 #else
-    memcpy((char *)SOCKADDR_IN_ADDR(*addr),
-           (char *)ret->h_addr,
+    memcpy(SOCKADDR_IN_ADDR(*addr),
+           ret->h_addr,
            ret->h_length);
 #endif
 #else
diff --git a/src/pike_memory.c b/src/pike_memory.c
index c1612da65b..91617ad995 100644
--- a/src/pike_memory.c
+++ b/src/pike_memory.c
@@ -3099,7 +3099,7 @@ static void dump_location_bt (LOCATION location, int indent, const char *prefix)
     unsigned char *bin_base =
       (unsigned char *) location + strlen (location) + 1;
     unsigned int bin_len = EXTRACT_UWORD (bin_base);
-    memcpy ((unsigned char *) bt, bin_base + 2, bin_len);
+    memcpy (bt, bin_base + 2, bin_len);
     frames = bin_len / sizeof (c_stack_frame);
 
     for (i = 0; i < frames; i++) {
diff --git a/src/port.c b/src/port.c
index d05c7498c6..a5250583de 100644
--- a/src/port.c
+++ b/src/port.c
@@ -418,21 +418,21 @@ PMOD_EXPORT int SNPRINTF(char *buf, size_t size, const char *fmt, ...)
 PMOD_EXPORT unsigned INT16 EXTRACT_UWORD_(unsigned char *p)
 {
   unsigned INT16 a;
-  memcpy((char *)&a,p,sizeof(a));
+  memcpy(&a,p,sizeof(a));
   return a;
 }
 
 PMOD_EXPORT INT16 EXTRACT_WORD_(unsigned char *p)
 {
   INT16 a;
-  memcpy((char *)&a,p,sizeof(a));
+  memcpy(&a,p,sizeof(a));
   return a;
 }
 
 PMOD_EXPORT INT32 EXTRACT_INT_(unsigned char *p)
 {
   INT32 a;
-  memcpy((char *)&a,p,sizeof(a));
+  memcpy(&a,p,sizeof(a));
   return a;
 }
 #endif
diff --git a/src/port.h b/src/port.h
index 96bfc70faf..e02ff7e77c 100644
--- a/src/port.h
+++ b/src/port.h
@@ -174,7 +174,7 @@ PMOD_EXPORT int STRCASECMP(const char *a,const char *b);
 #define MEMSET memset
 
 #define HAVE_MEMCPY 1
-#define MEMCPY(X,Y,Z) memcpy((char*)(X),(char*)(Y),(Z))
+#define MEMCPY(X,Y,Z) memcpy((X),(Y),(Z))
 
 #ifndef HAVE_MEMMOVE
 PMOD_EXPORT void MEMMOVE(void *b,const void *a,size_t s);
@@ -250,21 +250,21 @@ PMOD_EXPORT INT32 EXTRACT_INT_(unsigned char *p);
 /*@unused@*/ static INLINE unsigned EXTRACT_UWORD_(unsigned char *p)
 {
   unsigned INT16 a;
-  memcpy((char *)&a,p,sizeof(a));
+  memcpy(&a,p,sizeof(a));
   return a;
 }
 
 /*@unused@*/ static INLINE int EXTRACT_WORD_(unsigned char *p)
 {
   INT16 a;
-  memcpy((char *)&a,p,sizeof(a));
+  memcpy(&a,p,sizeof(a));
   return a;
 }
 
 /*@unused@*/ static INLINE INT32 EXTRACT_INT_(unsigned char *p)
 {
   INT32 a;
-  memcpy((char *)&a,p,sizeof(a));
+  memcpy(&a,p,sizeof(a));
   return a;
 }
 #endif
diff --git a/src/post_modules/GTK1/source/encode_truecolor.c b/src/post_modules/GTK1/source/encode_truecolor.c
index 1e201fcd6f..1fdc7cc771 100644
--- a/src/post_modules/GTK1/source/encode_truecolor.c
+++ b/src/post_modules/GTK1/source/encode_truecolor.c
@@ -40,7 +40,7 @@ static void encode_truecolor_24_rgb( rgb_group *s,
                                      unsigned char *d,
                                      int q, int w )
 {
-  memcpy(d,(unsigned char *)s,q);
+  memcpy(d,s,q);
 }
 
 static void encode_truecolor_24_rgb_al32_swapped( rgb_group *s,
@@ -71,7 +71,7 @@ static void encode_truecolor_24_rgb_al32( rgb_group *s,
   {
     for(l=0; l<(q/w)/3; l++)
     {
-      memcpy(d,(unsigned char *)s,w*3);
+      memcpy(d,s,w*3);
       d += (w*3+3)&~3;
     }
   }
diff --git a/src/post_modules/GTK1/source/support.c b/src/post_modules/GTK1/source/support.c
index 11db3aea42..a279912dec 100644
--- a/src/post_modules/GTK1/source/support.c
+++ b/src/post_modules/GTK1/source/support.c
@@ -357,24 +357,24 @@ void pgtk_get_mapping_arg( struct mapping *map,
          if(len != sizeof(char *))
            Pike_fatal("oddities detected\n");
 #endif
-         memcpy(((char **)dest), &s->u.string->str, sizeof(char *));
+         memcpy(dest, &s->u.string->str, sizeof(char *));
          break;
        case PIKE_T_INT:
          if(len == 2)
          {
            short i = (short)s->u.integer;
-           memcpy(((short *)dest), &i, 2);
+           memcpy(dest, &i, 2);
          }
          else if(len == 4)
-           memcpy(((int *)dest), &s->u.integer, len);
+           memcpy(dest, &s->u.integer, len);
          break;
        case PIKE_T_FLOAT:
          if(len == sizeof(FLOAT_TYPE))
-           memcpy(((FLOAT_TYPE *)dest), &s->u.float_number,len);
+           memcpy(dest, &s->u.float_number,len);
          else if(len == sizeof(double))
          {
            double d = s->u.float_number;
-           memcpy(((double *)dest), &d,len);
+           memcpy(dest, &d,len);
          }
          break;
       }
diff --git a/src/post_modules/GTK2/source/encode_truecolor.c b/src/post_modules/GTK2/source/encode_truecolor.c
index a7c06bb9b1..78dbfdb2df 100644
--- a/src/post_modules/GTK2/source/encode_truecolor.c
+++ b/src/post_modules/GTK2/source/encode_truecolor.c
@@ -40,7 +40,7 @@ static void encode_truecolor_24_rgb( rgb_group *s,
                                      unsigned char *d,
                                      int q, int w )
 {
-  memcpy(d,(unsigned char *)s,q);
+  memcpy(d,s,q);
 }
 
 static void encode_truecolor_24_rgb_al32_swapped( rgb_group *s,
@@ -71,7 +71,7 @@ static void encode_truecolor_24_rgb_al32( rgb_group *s,
   {
     for(l=0; l<(q/w)/3; l++)
     {
-      memcpy(d,(unsigned char *)s,w*3);
+      memcpy(d,s,w*3);
       d += (w*3+3)&~3;
       q--;
     }
diff --git a/src/post_modules/GTK2/source/support.c b/src/post_modules/GTK2/source/support.c
index 9e435aa02e..74a192dd33 100644
--- a/src/post_modules/GTK2/source/support.c
+++ b/src/post_modules/GTK2/source/support.c
@@ -348,21 +348,21 @@ void pgtk2_get_mapping_arg(struct mapping *map,
          if (len!=sizeof(char *))
            Pike_fatal("oddities detected\n");
 #endif
-         memcpy(((char **)dest),&s->u.string->str,sizeof(char *));
+         memcpy(dest,&s->u.string->str,sizeof(char *));
          break;
        case PIKE_T_INT:
          if (len==2) {
            short i=(short)s->u.integer;
-           memcpy(((short *)dest),&i,2);
+           memcpy(dest,&i,2);
          } else if (len==4)
-           memcpy(((int *)dest),&s->u.integer,len);
+           memcpy(dest,&s->u.integer,len);
          break;
        case PIKE_T_FLOAT:
          if (len==sizeof(FLOAT_TYPE))
-           memcpy(((FLOAT_TYPE *)dest),&s->u.float_number,len);
+           memcpy(dest,&s->u.float_number,len);
          else if (len==sizeof(double)) {
            double d=s->u.float_number;
-           memcpy(((double *)dest),&d,len);
+           memcpy(dest,&d,len);
          }
          break;
       }
diff --git a/src/stralloc.h b/src/stralloc.h
index 09a353544d..fbb8ab72b9 100644
--- a/src/stralloc.h
+++ b/src/stralloc.h
@@ -259,9 +259,9 @@ PMOD_EXPORT extern struct shared_string_location *all_shared_string_locations;
 #define MAKE_CONSTANT_SHARED_STRING(var, text)				\
   REF_MAKE_CONST_STRING(var, text)
 
-#define convert_0_to_0(X,Y,Z) memcpy((char *)(X),(char *)(Y),(Z))
-#define convert_1_to_1(X,Y,Z) memcpy((char *)(X),(char *)(Y),(Z)<<1)
-#define convert_2_to_2(X,Y,Z) memcpy((char *)(X),(char *)(Y),(Z)<<2)
+#define convert_0_to_0(X,Y,Z) memcpy((X),(Y),(Z))
+#define convert_1_to_1(X,Y,Z) memcpy((X),(Y),(Z)<<1)
+#define convert_2_to_2(X,Y,Z) memcpy((X),(Y),(Z)<<2)
 
 #define compare_0_to_0(X,Y,Z) MEMCMP((char *)(X),(char *)(Y),(Z))
 #define compare_1_to_1(X,Y,Z) MEMCMP((char *)(X),(char *)(Y),(Z)<<1)
diff --git a/src/svalue.c b/src/svalue.c
index ee155af748..0f960b2e53 100644
--- a/src/svalue.c
+++ b/src/svalue.c
@@ -255,7 +255,7 @@ PMOD_EXPORT TYPE_FIELD assign_svalues_no_free(struct svalue *to,
   TYPE_FIELD masked_type;
 
   check_type_hint (from, num, type_hint);
-  memcpy((char *)to, (char *)from, sizeof(struct svalue) * num);
+  memcpy(to, from, sizeof(struct svalue) * num);
 
   if (!(masked_type = (type_hint & BIT_REF_TYPES)))
     return type_hint;
-- 
GitLab