length argument needed for callback.

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@9435 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
David L Parkhurst 2015-03-30 18:38:56 +00:00
parent 28e2eefe78
commit 099e2fe058
7 changed files with 10 additions and 8 deletions

View File

@ -879,7 +879,7 @@ void IPhreeqc::SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, cha
this->PhreeqcPtr->register_fortran_basic_callback(fcn);
}
#else
void IPhreeqc::SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, char *str))
void IPhreeqc::SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, char *str, int l))
{
this->PhreeqcPtr->register_fortran_basic_callback(fcn);
}

View File

@ -1666,7 +1666,7 @@ Headings
#ifdef IPHREEQC_NO_FORTRAN_MODULE
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str, size_t l));
#else
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str));
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str, int l));
#endif

View File

@ -713,7 +713,7 @@ public:
#ifdef IPHREEQC_NO_FORTRAN_MODULE
void SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, char *str, size_t l));
#else
void SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, char *str));
void SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, char *str, int l));
#endif
/**

View File

@ -795,7 +795,7 @@ SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str,
}
#else
IPQ_RESULT
SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str))
SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str, int l))
{
IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id);
if (IPhreeqcPtr)

View File

@ -853,22 +853,24 @@ INTEGER FUNCTION SetBasicFortranCallback(id, fcn)
IMPLICIT NONE
INTEGER(KIND=C_INT), INTENT(in) :: id
INTERFACE
REAL(KIND=C_DOUBLE) FUNCTION fcn(x1, x2, str) BIND(C)
REAL(KIND=C_DOUBLE) FUNCTION fcn(x1, x2, str, l) BIND(C)
USE ISO_C_BINDING
IMPLICIT none
REAL(KIND=C_DOUBLE), INTENT(in) :: x1, x2
CHARACTER(KIND=C_CHAR), INTENT(in) :: str(*)
INTEGER(KIND=C_INT), INTENT(in) :: l
END FUNCTION fcn
END INTERFACE
END FUNCTION SetBasicFortranCallbackF
END INTERFACE
INTEGER, INTENT(in) :: id
INTERFACE
REAL(KIND=C_DOUBLE) FUNCTION fcn(x1, x2, str) BIND(C)
REAL(KIND=C_DOUBLE) FUNCTION fcn(x1, x2, str, l) BIND(C)
USE ISO_C_BINDING
IMPLICIT none
REAL(KIND=C_DOUBLE), INTENT(in) :: x1, x2
CHARACTER(KIND=C_CHAR), INTENT(in) :: str(*)
INTEGER(KIND=C_INT), INTENT(in) :: l
END FUNCTION fcn
END INTERFACE
SetBasicFortranCallback = SetBasicFortranCallbackF(id, fcn)

View File

@ -410,7 +410,7 @@ SetBasicFortranCallbackF(int *id, double (*fcn)(double *x1, double *x2, char *st
}
#else
IPQ_RESULT
SetBasicFortranCallbackF(int *id, double (*fcn)(double *x1, double *x2, char *str))
SetBasicFortranCallbackF(int *id, double (*fcn)(double *x1, double *x2, char *str, int l))
{
return ::SetBasicFortranCallback(*id, fcn);
}

View File

@ -136,7 +136,7 @@ extern "C" {
#ifdef IPHREEQC_NO_FORTRAN_MODULE
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallbackF(int *id, double (*fcn)(double *x1, double *x2, char *str, size_t l));
#else
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallbackF(int *id, double (*fcn)(double *x1, double *x2, char *str));
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallbackF(int *id, double (*fcn)(double *x1, double *x2, char *str, int l));
#endif
IPQ_DLL_EXPORT IPQ_RESULT SetCurrentSelectedOutputUserNumberF(int *id, int *n);
IPQ_DLL_EXPORT IPQ_RESULT SetDumpFileNameF(int *id, char* fname);