diff --git a/src/mtime_t_timedelta.inc b/src/mtime_t_timedelta.inc index c92b0703a9981178e29dbe6ec768596036f65a92..b348412f3a9edc0c533a543e04f5159a9ab0a654 100644 --- a/src/mtime_t_timedelta.inc +++ b/src/mtime_t_timedelta.inc @@ -19,7 +19,7 @@ call c_f_pointer(c_pointer, td_tmp) t_timedelta_assign_string%td = td_tmp t_timedelta_assign_string%td%sign = td_tmp%sign - call my_deallocatetimedelta(c_pointer) + CALL my_deallocatetimedelta(c_pointer) end if END FUNCTION t_timedelta_assign_string @@ -340,16 +340,18 @@ TYPE (t_timedelta) :: added_td CLASS(t_timedelta), INTENT(IN) :: this TYPE (t_timedelta), INTENT(in) :: td - TYPE (c_ptr) :: c_pointer1, c_pointer2, dummy_ptr + TYPE (c_ptr) :: c_pointer1, c_pointer2, c_pointer3, dummy_ptr TYPE(timedelta), POINTER :: td_tmp c_pointer1 = this%get_c_pointer() c_pointer2 = td%get_c_pointer() + c_pointer3 = td%get_c_pointer() - dummy_ptr = my_elementwiseaddtimedeltatotimedelta(c_pointer1, c_pointer2, c_pointer1) + dummy_ptr = my_elementwiseaddtimedeltatotimedelta(c_pointer1, c_pointer2, c_pointer3) CALL handle_errno(.NOT. C_ASSOCIATED(dummy_ptr), 0 * 100 + 2, __FILE__, __LINE__) - CALL C_F_POINTER(c_pointer1, td_tmp) + CALL C_F_POINTER(c_pointer3, td_tmp) CALL my_deallocatedatetime(c_pointer1) CALL my_deallocatedatetime(c_pointer2) added_td%td = td_tmp + CALL my_deallocatedatetime(c_pointer3) END FUNCTION t_timedelta_addElementWise diff --git a/src/mtime_timedelta.c b/src/mtime_timedelta.c index 29ce00c9f5dff35f1cfcdb631e6841fd654811a1..61914b4d67499793d16526778a9583df538003cd 100644 --- a/src/mtime_timedelta.c +++ b/src/mtime_timedelta.c @@ -1913,6 +1913,8 @@ elementwiseScalarMultiplyTimeDeltaDP(struct _timedelta* base_td, double lambda, * * @return td_return * A pointer to struct _timedelta. The filled structure containing the added timedelta values. + * + * @note The @p td_return must not be chosen to be one of the arguments @p td1 , @p td2 ! */ struct _timedelta* elementwiseAddTimeDeltatoTimeDelta(struct _timedelta* td1, struct _timedelta* td2, struct _timedelta* td_return)