valarray_array.h (_Array_default_ctor<>::_S_do_it): Don't forget the sizeof(_Tp)...
authorGabriel Dos Reis <gdr@gcc.gnu.org>
Wed, 28 Jun 2000 14:38:39 +0000 (14:38 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Wed, 28 Jun 2000 14:38:39 +0000 (14:38 +0000)
2000-06-28  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

* bits/valarray_array.h (_Array_default_ctor<>::_S_do_it): Don't
forget the sizeof(_Tp) factor in call to memset().
(_Array_copy_ctor<>::_S_do_it): Likewise for memcpy().

From-SVN: r34757

libstdc++-v3/bits/valarray_array.h

index fc610ee..c2f40c3 100644 (file)
@@ -73,7 +73,7 @@ namespace std
     // For fundamental types, it suffices to say 'memset()'
     inline static void
     _S_do_it(_Tp* __restrict__ __b, _Tp* __restrict__ __e)
-    { memset(__b, 0, __e - __b); }
+    { memset(__b, 0, (__e - __b)*sizeof(_Tp)); }
   };
 
   template<typename _Tp>
@@ -135,7 +135,7 @@ namespace std
     inline static void
     _S_do_it(const _Tp* __restrict__ __b, const _Tp* __restrict__ __e,
              _Tp* __restrict__ __o)
-    { memcpy(__o, __b, __e - __b); }
+    { memcpy(__o, __b, (__e - __b)*sizeof(_Tp)); }
   };
 
   template<typename _Tp>