From e1dd891365d9d326d10026cf1e866d3e33f3c08b Mon Sep 17 00:00:00 2001
From: noels <l.noels@ulg.ac.be>
Date: Thu, 5 Nov 2020 23:42:47 +0100
Subject: [PATCH] add return and use strcpy

---
 NonLinearSolver/materialLaw/RandomField.cpp | 19 +++++++++++++------
 NonLinearSolver/materialLaw/RandomField.h   |  2 +-
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/NonLinearSolver/materialLaw/RandomField.cpp b/NonLinearSolver/materialLaw/RandomField.cpp
index dc785b5ac..8758f10c4 100644
--- a/NonLinearSolver/materialLaw/RandomField.cpp
+++ b/NonLinearSolver/materialLaw/RandomField.cpp
@@ -40,6 +40,7 @@ Yarn_class& Yarn_class::operator=(const Yarn_class &source){
    _l = source._l;
    _WirGeo = source._WirGeo;
    _Warp_Weft = source._Warp_Weft;
+   return *this;
 }
 
 Yarn_class::~Yarn_class(){};
@@ -56,6 +57,7 @@ double Yarn_class::WireFunc(const double x, const double b, const double L) cons
         tmp = 2.0*PI/L;
         return b*cos(tmp*x);
     }
+    return 0.;
 }
 
 double Yarn_class::WireFunc_Tang(const double x, const double b, const double L)const {
@@ -68,6 +70,7 @@ double Yarn_class::WireFunc_Tang(const double x, const double b, const double L)
         tmp = 2.0*PI/L;
         return -b*sin(tmp*x)*tmp;
     }
+    return 0.;
 }
 
 void Yarn_class::Inside_Yarn(const SVector3 &GaussP, double& k, double* V_Rand)const {
@@ -206,6 +209,7 @@ Random_Fclass& Random_Fclass::operator=(const Random_Fclass &source){
    _nx = source._nx;
    _ny = source._ny;
    _nz = source._nz;
+   return *this;
 }
 
 Random_Fclass::~Random_Fclass(){};
@@ -219,15 +223,17 @@ Random_Feul::Random_Feul(const double* mean, const SVector3& Ldomain, const doub
       _Eul_mean[0] = mean[0];
       _Eul_mean[1] = mean[1];
       _Eul_mean[2] = mean[2];
-      if (Geo!= NULL ) _Geo = Geo;
+      if (Geo!= NULL ) strcpy(_Geo,Geo);
       if(strcmp(_Geo,"Cos")==0 or strcmp(_Geo,"Logistic")==0){
           double a = dx;
           double b = dy;
           double L = _Ldomain.x();
           double l = dz;
           double tmpX, tmpY,tmpZ;
-          char* weft = "Weft";
-          char* warp = "Warp";
+          const char* weft="Weft";
+          //strcpy(weft,"Weft");
+          const char* warp="Warp";
+          //strcpy(warp,"Warp");
           tmpY = _OrigY - L/2.0;
           tmpZ = b;
           Weft1 = init_Yarn(_OrigX, tmpY, -tmpZ, a, b, L, l, _Geo,  weft);
@@ -252,7 +258,7 @@ Random_Feul::Random_Feul(const Random_Feul &source):Random_Fclass(source){
       _Eul_mean[0] = source._Eul_mean[0];
       _Eul_mean[1] = source._Eul_mean[1];
       _Eul_mean[2] = source._Eul_mean[2];
-      _Geo = source._Geo;
+      strcpy(_Geo,source._Geo);
 
       malloctens4(&_RF_eul,_nx,_ny,_nz,3);
       for(int i=0;i<_nx;i++){
@@ -291,7 +297,7 @@ Random_Feul& Random_Feul::operator=(const Random_Fclass &source){
         _Eul_mean[0] = src->_Eul_mean[0];
         _Eul_mean[1] = src->_Eul_mean[1];
         _Eul_mean[2] = src->_Eul_mean[2];
-        _Geo = src->_Geo;
+        strcpy(_Geo,src->_Geo);
 
         for(int i=0;i<_nx;i++){
           for(int j=0;j<_ny;j++){
@@ -320,7 +326,7 @@ Random_Feul& Random_Feul::operator=(const Random_Fclass &source){
          Warp2 =src->Warp2->clone();
          Warp3 =src->Warp3->clone();
      }
-
+     return *this;
 }
 
   
@@ -426,6 +432,7 @@ Random_FProp& Random_FProp::operator=(const Random_Fclass &source){
            }
         }
      }
+     return *this;
 }
 
 Random_FProp::~Random_FProp(){
diff --git a/NonLinearSolver/materialLaw/RandomField.h b/NonLinearSolver/materialLaw/RandomField.h
index 960d82dab..f1aa8f14e 100644
--- a/NonLinearSolver/materialLaw/RandomField.h
+++ b/NonLinearSolver/materialLaw/RandomField.h
@@ -74,7 +74,7 @@ class Random_Feul : public Random_Fclass{
   double* _Eul_mean;
   double _l; 
   double**** _RF_eul;
-  const char* _Geo;
+  char* _Geo;
   Yarn_class *Weft1, *Weft2, *Weft3, *Warp1, *Warp2, *Warp3; 
 
  public:
-- 
GitLab