diff --git a/src/libmtime.f90 b/src/libmtime.f90 index 3caae0ccfb4eca60bc477d7a752b9640d6417de9..1abf9ca478a91d2c3f8f0e4740f6df02962065c3 100644 --- a/src/libmtime.f90 +++ b/src/libmtime.f90 @@ -120,9 +120,10 @@ MODULE mtime_juliandelta CONTAINS - FUNCTION newJuliandelta(sign,day, ms, errno) RESULT(ret_juliandelta) !OK-TESTED. + FUNCTION newJuliandelta(sign,day, ms, errno) RESULT(ret_juliandelta) TYPE(juliandelta), POINTER :: ret_juliandelta - CHARACTER(c_char), INTENT(in) :: sign + ! I don't fully understand why value is needed here. + CHARACTER(kind=c_char), INTENT(in), value :: sign INTEGER(c_int64_t), INTENT(in) :: day INTEGER(c_int64_t), INTENT(in) :: ms type(c_ptr) :: c_pointer diff --git a/src/mtime_c_bindings.f90 b/src/mtime_c_bindings.f90 index c6fb9789559b7d896857b87719f88612c07df7a2..487822f99da1e07f1defd99c7744a703bc8b419e 100644 --- a/src/mtime_c_bindings.f90 +++ b/src/mtime_c_bindings.f90 @@ -116,7 +116,7 @@ module mtime_c_bindings function my_newjuliandelta(sign, day, ms) result(c_pointer) bind(c, name='newJulianDelta') import :: c_int64_t, c_char, c_ptr type(c_ptr) :: c_pointer - character(c_char) :: sign + character(kind=c_char), value :: sign integer(c_int64_t), value :: day integer(c_int64_t), value :: ms end function my_newjuliandelta