From b55f494e19b5c7e01dd94ebd4d87bbd23ab80b7e Mon Sep 17 00:00:00 2001
From: Lionel Gauthier <lionel.gauthier@eurecom.fr>
Date: Thu, 30 Apr 2015 09:22:06 +0000
Subject: [PATCH] Sebastian Held
 patches15/0018-don-t-use-memcpy-if-copying-within-the-same-array.patch

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7320 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 openair1/PHY/LTE_TRANSPORT/prach.c | 38 +++++++++++++++---------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c
index aba552112e2..f02e46d47c9 100644
--- a/openair1/PHY/LTE_TRANSPORT/prach.c
+++ b/openair1/PHY/LTE_TRANSPORT/prach.c
@@ -853,15 +853,15 @@ int32_t generate_prach(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,
     if (prach_fmt == 4) {
       fft(prachF,prach2,twiddle_ifft256,rev256,8,4,0);
       //TODO: account for repeated format in fft output
-      memcpy((void*)prach,(void*)(prach+512),Ncp<<2);
-      prach_len=256+Ncp;
+      memmove( prach, prach+512, Ncp<<2 );
+      prach_len = 256+Ncp;
     } else {
       ifft1536(prachF,prach2);
-      memcpy((void*)prach,(void*)(prach+3072),Ncp<<2);
+      memmove( prach, prach+3072, Ncp<<2 );
       prach_len = 1536+Ncp;
 
       if (prach_fmt>1) {
-        memcpy((void*)(prach2+3072),(void*)prach2,6144);
+        memmove( prach2+3072, prach2, 6144 );
         prach_len = 2*1536+Ncp;
       }
     }
@@ -872,15 +872,15 @@ int32_t generate_prach(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,
     if (prach_fmt == 4) {
       fft(prachF,prach2,twiddle_ifft512,rev512,9,4,0);
       //TODO: account for repeated format in fft output
-      memcpy((void*)prach,(void*)(prach+1024),Ncp<<2);
+      memmove( prach, prach+1024, Ncp<<2 );
       prach_len = 512+Ncp;
     } else {
       ifft3072(prachF,prach2);
-      memcpy((void*)prach,(void*)(prach+6144),Ncp<<2);
+      memmove( prach, prach+6144, Ncp<<2 );
       prach_len = 3072+Ncp;
 
       if (prach_fmt>1) {
-        memcpy((void*)(prach2+6144),(void*)prach2,12288);
+        memmove( prach2+6144, prach2, 12288 );
         prach_len = 2*3072+Ncp;
       }
     }
@@ -892,17 +892,17 @@ int32_t generate_prach(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,
     if (prach_fmt == 4) {
       fft(prachF,prach2,twiddle_ifft1024,rev1024,10,5,0);
       //TODO: account for repeated format in fft output
-      memcpy((void*)prach,(void*)(prach+2048),Ncp<<2);
+      memmove( prach, prach+2048, Ncp<<2 );
       prach_len = 1024+Ncp;
     } else {
       ifft6144(prachF,prach2);
       /*for (i=0;i<6144*2;i++)
       prach2[i]<<=1;*/
-      memcpy((void*)prach,(void*)(prach+12288),Ncp<<2);
+      memmove( prach, prach+12288, Ncp<<2 );
       prach_len = 6144+Ncp;
 
       if (prach_fmt>1) {
-        memcpy((void*)(prach2+12288),(void*)prach2,24576);
+        memmove( prach2+12288, prach2, 24576 );
         prach_len = 2*6144+Ncp;
       }
     }
@@ -913,15 +913,15 @@ int32_t generate_prach(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,
     if (prach_fmt == 4) {
       fft(prachF,prach2,twiddle_ifft2048,rev2048,11,5,0);
       //TODO: account for repeated format in fft output
-      memcpy((void*)prach,(void*)(prach+4096),Ncp<<2);
+      memmove( prach, prach+4096, Ncp<<2 );
       prach_len = 2048+Ncp;
     } else {
       ifft12288(prachF,prach2);
-      memcpy((void*)prach,(void*)(prach+24576),Ncp<<2);
+      memmove( prach, prach+24576, Ncp<<2 );
       prach_len = 12288+Ncp;
 
       if (prach_fmt>1) {
-        memcpy((void*)(prach2+24576),(void*)prach2,49152);
+        memmove( prach2+24576, prach2, 49152 );
         prach_len = 2*12288+Ncp;
       }
     }
@@ -932,15 +932,15 @@ int32_t generate_prach(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,
     if (prach_fmt == 4) {
       ifft3072(prachF,prach2);
       //TODO: account for repeated format in fft output
-      memcpy((void*)prach,(void*)(prach+6144),Ncp<<2);
+      memmove( prach, prach+6144, Ncp<<2 );
       prach_len = 3072+Ncp;
     } else {
       ifft18432(prachF,prach2);
-      memcpy((void*)prach,(void*)(prach+36864),Ncp<<2);
+      memmove( prach, prach+36864, Ncp<<2 );
       prach_len = 18432+Ncp;
 
       if (prach_fmt>1) {
-        memmove(prach2+36834,prach2,73728);
+        memmove( prach2+36834, prach2, 73728 );
         prach_len = 2*18432+Ncp;
       }
     }
@@ -951,15 +951,15 @@ int32_t generate_prach(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,
     if (prach_fmt == 4) {
       fft(prachF,prach2,twiddle_ifft4096,rev4096,12,6,0);
       //TODO: account for repeated format in fft output
-      memcpy((void*)prach,(void*)(prach+8192),Ncp<<2);
+      memmove( prach, prach+8192, Ncp<<2 );
       prach_len = 4096+Ncp;
     } else {
       ifft24576(prachF,prach2);
-      memcpy((void*)prach,(void*)(prach+49152),Ncp<<2);
+      memmove( prach, prach+49152, Ncp<<2 );
       prach_len = 24576+Ncp;
 
       if (prach_fmt>1) {
-        memcpy((void*)(prach2+49152),(void*)prach2,98304);
+        memmove( prach2+49152, prach2, 98304 );
         prach_len = 2* 24576+Ncp;
       }
     }
-- 
GitLab