updated for linux

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/branches/class@4219 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2010-04-07 00:51:52 +00:00
parent b8f6951dbc
commit 1c3cc0882e
6 changed files with 219 additions and 214 deletions

View File

@ -52,9 +52,9 @@ OBJS = \
input.o \
integrate.o \
inverse.o \
IPhreeqc.o \
IPhreeqc2.o \
IPhreeqcF.o \
IPhreeqcLib.o \
ISolution.o \
ISolutionComp.o \
isotopes.o \
@ -62,8 +62,6 @@ OBJS = \
KineticsComp.o \
mainsubs.o \
model.o \
module_files.o \
module_output.o \
NameDouble.o \
NumKeyword.o \
nvector.o \
@ -1215,7 +1213,7 @@ Phreeqc.o: src/phreeqcpp/Phreeqc.cpp src/phreeqcpp/Phreeqc.h \
dumper.o: src/phreeqcpp/dumper.cpp src/phreeqcpp/dumper.h \
src/phreeqcpp/StorageBinList.h src/phreeqcpp/Parser.h \
src/phreeqcpp/Phreeqc_class.h
IPhreeqc.o: src/IPhreeqc.cpp include/IPhreeqc.h \
IPhreeqc.o: src/IPhreeqc.cpp \
include/IPhreeqcCallbacks.h src/CVar.hxx src/Debug.h include/Var.h \
include/IPhreeqc.hpp src/phreeqcpp/Phreeqc.h \
src/phreeqcpp/phreeqc/phrqtype.h src/phreeqcpp/phreeqc/sundialstypes.h \
@ -1286,7 +1284,7 @@ SelectedOutput.o: src/SelectedOutput.cpp src/phreeqcpp/phreeqc/phrqtype.h \
src/phreeqcpp/phreeqc/global_structures.h src/SelectedOutput.hxx \
src/CVar.hxx src/Debug.h include/Var.h
pp_sys.o: src/pp_sys.cpp
fwrap.o: src/fwrap.cpp src/phreeqcpp/phreeqc/phrqtype.h include/IPhreeqc.h \
fwrap.o: src/fwrap.cpp src/phreeqcpp/phreeqc/phrqtype.h \
include/IPhreeqcCallbacks.h src/CVar.hxx src/Debug.h include/Var.h \
src/fwrap.h
Var.o: src/Var.c include/Var.h

View File

@ -15,7 +15,7 @@
INTERFACE
FUNCTION CreateIPhreeqc
FUNCTION CreateIPhreeqc()
INTEGER(KIND=4) :: CreateIPhreeqc
END FUNCTION CreateIPhreeqc
END INTERFACE

View File

@ -1,193 +1,217 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION LoadDatabase(FILENAME)
FUNCTION CreateIPhreeqc()
IMPLICIT NONE
INTEGER :: CreateIPhreeqc
INTEGER :: CreateIPhreeqcF
CreateIPhreeqc = CreateIPhreeqcF()
END FUNCTION CreateIPhreeqc
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION LoadDatabase(ID,FILENAME)
IMPLICIT NONE
INTEGER :: ID
CHARACTER(LEN=*) :: FILENAME
INTEGER :: LoadDatabase
#if defined(_WIN32)
INTERFACE
FUNCTION LoadDatabaseF(FILENAME)
!DEC$ ATTRIBUTES C,REFERENCE::LoadDatabaseF
!DEC$ ATTRIBUTES ALIAS:'_LoadDatabaseF'::LoadDatabaseF
CHARACTER(LEN=*) :: FILENAME
INTEGER(KIND=4) :: LoadDatabaseF
END FUNCTION LoadDatabaseF
END INTERFACE
#else
INTEGER :: LoadDatabaseF
#endif
LoadDatabase = LoadDatabaseF(FILENAME)
LoadDatabase = LoadDatabaseF(ID,FILENAME)
END FUNCTION LoadDatabase
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLastError
FUNCTION LoadDatabaseString(ID,INPUT)
IMPLICIT NONE
#if defined(_WIN32)
INTERFACE
SUBROUTINE OutputLastErrorF
!DEC$ ATTRIBUTES C,REFERENCE::OutputLastErrorF
!DEC$ ATTRIBUTES ALIAS:'_OutputLastError'::OutputLastErrorF
END SUBROUTINE OutputLastErrorF
END INTERFACE
#endif
CALL OutputLastErrorF
END SUBROUTINE OutputLastError
INTEGER :: ID
CHARACTER(LEN=*) :: INPUT
INTEGER :: LoadDatabaseString
INTEGER :: LoadDatabaseStringF
LoadDatabaseString = LoadDatabaseStringF(ID,INPUT)
END FUNCTION LoadDatabaseString
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION AccumulateLine(LINE)
FUNCTION AccumulateLine(ID,LINE)
IMPLICIT NONE
INTEGER :: ID
CHARACTER(LEN=*) :: LINE
INTEGER :: AccumulateLine
#if defined(_WIN32)
INTERFACE
FUNCTION AccumulateLineF(LINE)
!DEC$ ATTRIBUTES C,REFERENCE::AccumulateLineF
!DEC$ ATTRIBUTES ALIAS:'_AccumulateLineF'::AccumulateLineF
CHARACTER(LEN=*) :: LINE
INTEGER(KIND=4) :: AccumulateLineF
END FUNCTION AccumulateLineF
END INTERFACE
#else
INTEGER :: AccumulateLineF
#endif
AccumulateLine = AccumulateLineF(LINE)
AccumulateLine = AccumulateLineF(ID,LINE)
END FUNCTION AccumulateLine
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION RunAccumulated(OUTPUT_ON, ERROR_ON, LOG_ON, SELECTED_ON)
FUNCTION SetSelectedOutputOn(ID,SELECTED_ON)
IMPLICIT NONE
LOGICAL :: OUTPUT_ON
LOGICAL :: ERROR_ON
LOGICAL :: LOG_ON
LOGICAL :: SELECTED_ON
INTEGER :: ID
LOGICAL :: SELECTED_ON
INTEGER :: SetSelectedOutputOn
INTEGER :: SetSelectedOutputOnF
SetSelectedOutputOn = SetSelectedOutputOnF(ID,SELECTED_ON)
END FUNCTION SetSelectedOutputOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetOutputOn(ID,OUTPUT_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: OUTPUT_ON
INTEGER :: SetOutputOn
INTEGER :: SetOutputOnF
SetOutputOn = SetOutputOnF(ID,OUTPUT_ON)
END FUNCTION SetOutputOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetErrorOn(ID,ERROR_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: ERROR_ON
INTEGER :: SetErrorOn
INTEGER :: SetErrorOnF
SetErrorOn = SetErrorOnF(ID,ERROR_ON)
END FUNCTION SetErrorOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetLogOn(ID,LOG_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: LOG_ON
INTEGER :: SetLogOn
INTEGER :: SetLogOnF
SetLogOn = SetLogOnF(ID,LOG_ON)
END FUNCTION SetLogOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetDumpOn(ID,DUMP_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: DUMP_ON
INTEGER :: SetDumpOn
INTEGER :: SetDumpOnF
SetDumpOn = SetDumpOnF(ID,DUMP_ON)
END FUNCTION SetDumpOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetDumpStringOn(ID,DUMP_STRING_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: DUMP_STRING_ON
INTEGER :: SetDumpStringOn
INTEGER :: SetDumpStringOnF
SetDumpStringOn = SetDumpStringOnF(ID,DUMP_STRING_ON)
END FUNCTION SetDumpStringOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetDumpLineCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetDumpLineCount
INTEGER :: GetDumpLineCountF
GetDumpLineCount = GetDumpLineCountF(ID)
END FUNCTION GetDumpLineCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetDumpLine(ID,N,LINE)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: N
CHARACTER(LEN=*) :: LINE
INTEGER :: GetDumpLine
INTEGER :: GetDumpLineF
GetDumpLine = GetDumpLineF(ID,N,LINE)
END FUNCTION GetDumpLine
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetErrorLineCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetErrorLineCount
INTEGER :: GetErrorLineCountF
GetErrorLineCount = GetErrorLineCountF(ID)
END FUNCTION GetErrorLineCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetErrorLine(ID,N,LINE)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: N
CHARACTER(LEN=*) :: LINE
INTEGER :: GetErrorLine
INTEGER :: GetErrorLineF
GetErrorLine = GetErrorLineF(ID,N,LINE)
END FUNCTION GetErrorLine
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetComponentCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetComponentCount
INTEGER :: GetComponentCountF
GetComponentCount = GetComponentCountF(ID)
END FUNCTION GetComponentCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetComponent(ID,N,COMP)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: N
CHARACTER(LEN=*) :: COMP
INTEGER :: GetComponent
INTEGER :: GetComponentF
GetComponent = GetComponentF(ID,N,COMP)
END FUNCTION GetComponent
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION RunAccumulated(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: RunAccumulated
#if defined(_WIN32)
INTERFACE
FUNCTION RunAccumulatedF(OUTPUT_ON, ERROR_ON, LOG_ON, SELECTED_ON)
!DEC$ ATTRIBUTES C,REFERENCE::RunF
!DEC$ ATTRIBUTES ALIAS:'_RunF'::RunF
LOGICAL(KIND=4) :: OUTPUT_ON
LOGICAL(KIND=4) :: ERROR_ON
LOGICAL(KIND=4) :: LOG_ON
LOGICAL(KIND=4) :: SELECTED_ON
INTEGER(KIND=4) :: RunF
END FUNCTION RunAccumulatedF
END INTERFACE
#else
INTEGER :: RunAccumulatedF
#endif
RunAccumulated = RunAccumulatedF(OUTPUT_ON, ERROR_ON,
& LOG_ON, SELECTED_ON)
RunAccumulated = RunAccumulatedF(ID)
END FUNCTION RunAccumulated
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION RunFile(FILENAME,OUTPUT_ON,ERROR_ON,LOG_ON,SELECTED_ON)
FUNCTION RunFile(ID,FILENAME)
IMPLICIT NONE
INTEGER :: ID
CHARACTER(LEN=*) :: FILENAME
LOGICAL :: OUTPUT_ON
LOGICAL :: ERROR_ON
LOGICAL :: LOG_ON
LOGICAL :: SELECTED_ON
INTEGER :: RunFile
#if defined(_WIN32)
INTERFACE
FUNCTION RunFileF(OUT_ON, ERR_ON, LOG_ON, SEL_ON, FILE)
!DEC$ ATTRIBUTES C,REFERENCE::RunFileF
!DEC$ ATTRIBUTES ALIAS:'_RunFileF'::RunFileF
LOGICAL(KIND=4) :: OUT_ON
LOGICAL(KIND=4) :: ERR_ON
LOGICAL(KIND=4) :: LOG_ON
LOGICAL(KIND=4) :: SEL_ON
CHARACTER(LEN=*) :: FILE
INTEGER(KIND=4) :: RunFileF
END FUNCTION RunFileF
END INTERFACE
#else
INTEGER :: RunFileF
#endif
RunFile = RunFileF(OUTPUT_ON, ERROR_ON, LOG_ON,
& SELECTED_ON, FILENAME)
RunFile = RunFileF(ID,FILENAME)
END FUNCTION RunFile
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLines
FUNCTION RunString(ID,INPUT)
IMPLICIT NONE
#if defined(_WIN32)
INTERFACE
SUBROUTINE OutputLinesF
!DEC$ ATTRIBUTES C,REFERENCE::OutputLinesF
!DEC$ ATTRIBUTES ALIAS:'_OutputLines'::OutputLinesF
END SUBROUTINE OutputLinesF
END INTERFACE
#endif
CALL OutputLinesF
END SUBROUTINE OutputLines
INTEGER :: ID
CHARACTER(LEN=*) :: INPUT
INTEGER :: RunString
INTEGER :: RunStringF
RunString = RunStringF(ID,INPUT)
END FUNCTION RunString
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetSelectedOutputRowCount()
FUNCTION GetSelectedOutputRowCount(ID)
IMPLICIT NONE
INTEGER :: GetSelectedOutputRowCount
#if defined(_WIN32)
INTERFACE
FUNCTION FRows
!DEC$ ATTRIBUTES C,REFERENCE::FRows
!DEC$ ATTRIBUTES ALIAS:'_GetSelectedOutputRowCountF'::FRows
INTEGER(KIND=4) :: FRows
END FUNCTION FRows
END INTERFACE
GetSelectedOutputRowCount = FRows() - 1
#else
INTEGER :: GetSelectedOutputRowCountF
GetSelectedOutputRowCount = GetSelectedOutputRowCountF() - 1
#endif
INTEGER :: ID
INTEGER :: GetSelectedOutputRowCount
INTEGER :: GetSelectedOutputRowCountF
GetSelectedOutputRowCount = GetSelectedOutputRowCountF(ID)
END FUNCTION GetSelectedOutputRowCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetSelectedOutputColumnCount()
FUNCTION GetSelectedOutputColumnCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetSelectedOutputColumnCount
#if defined(_WIN32)
INTERFACE
FUNCTION FCols
!DEC$ ATTRIBUTES C,REFERENCE::FCols
!DEC$ ATTRIBUTES ALIAS:'_GetSelectedOutputColumnCount'::FCols
INTEGER(KIND=4) :: FCols
END FUNCTION FCols
END INTERFACE
GetSelectedOutputColumnCount = FCols()
#else
INTEGER :: GetSelectedOutputColumnCountF
GetSelectedOutputColumnCount = GetSelectedOutputColumnCountF()
#endif
GetSelectedOutputColumnCount = GetSelectedOutputColumnCountF(ID)
END FUNCTION GetSelectedOutputColumnCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetSelectedOutputValue(ROW,COL,VTYPE,DVALUE,SVALUE)
FUNCTION GetSelectedOutputValue(ID,ROW,COL,VTYPE,DVALUE,SVALUE)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: ROW
INTEGER :: COL
INTEGER :: VTYPE
REAL*8 :: DVALUE
CHARACTER(LEN=*) :: SVALUE
INTEGER :: GetSelectedOutputValue
#if defined(_WIN32)
INTERFACE
FUNCTION Get(ROW,COL,VTYPE,DVALUE,SVALUE)
!DEC$ ATTRIBUTES C,REFERENCE::Get
!DEC$ ATTRIBUTES ALIAS:'_GetSelectedOutputValueF'::Get
INTEGER(KIND=4) :: ROW
INTEGER(KIND=4) :: COL
INTEGER(KIND=4) :: VTYPE
REAL(KIND=8) :: DVALUE
CHARACTER(LEN=*) :: SVALUE
INTEGER(KIND=4) :: Get
END FUNCTION Get
END INTERFACE
adjcol = col - 1
GetSelectedOutputValue = Get(ROW,adjcol,VTYPE,DVALUE,SVALUE)
#else
INTEGER :: GetSelectedOutputValueF
GetSelectedOutputValue = GetSelectedOutputValueF(ROW,
GetSelectedOutputValue = GetSelectedOutputValueF(ID,ROW,
& COL,VTYPE,DVALUE,SVALUE)
#endif
END FUNCTION GetSelectedOutputValue
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION System(COMMAND)
SUBROUTINE OutputLastError
IMPLICIT NONE
CHARACTER(LEN=*) :: COMMAND
INTEGER :: System
INTEGER :: SystemF
System = SystemF(COMMAND)
END FUNCTION System
CALL OutputLastErrorF
END SUBROUTINE OutputLastError
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLines(ID)
IMPLICIT NONE
INTEGER :: ID
CALL OutputLinesF(ID)
END SUBROUTINE OutputLines
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! FUNCTION System(COMMAND)
!! IMPLICIT NONE
!! CHARACTER(LEN=*) :: COMMAND
!! INTEGER :: System
!! INTEGER :: SystemF
!! System = SystemF(COMMAND)
!! END FUNCTION System

View File

@ -12,17 +12,31 @@ compile fortran with:
g77 -fno-second-underscore
********************************/
#if defined(__GNUC__)
#define LoadDatabaseF loaddatabasef_
#define AccumulateLineF accumulatelinef_
#define RunAccumulatedF runaccumulatedf_
#define RunFileF runfilef_
#define CreateIPhreeqcF createiphreeqcf_
#define GetComponentCountF getcomponentcountf_
#define GetComponentF getcomponentf_
#define GetDumpLineCountF getdumplinecountf_
#define GetDumpLineF getdumplinef_
#define GetErrorLineCountF geterrorlinecountf_
#define GetErrorLineF geterrorlinef_
#define GetSelectedOutputColumnCountF getselectedoutputcolumncountf_
#define GetSelectedOutputRowCountF getselectedoutputrowcountf_
#define GetSelectedOutputValueF getselectedoutputvaluef_
#define LoadDatabaseF loaddatabasef_
#define LoadDatabaseStringF loaddatabasestringf_
#define OutputLastErrorF outputlasterrorf_
#define OutputLinesF outputlinesf_
#define GetSelectedOutputRowCountF getselectedoutputrowcountf_
#define GetSelectedOutputColumnCountF getselectedoutputcolumncountf_
#define GetSelectedOutputValueF getselectedoutputvaluef_
#define SystemF systemf_
#define RunAccumulatedF runaccumulatedf_
#define RunFileF runfilef_
#define RunStringF runstringf_
#define SetDumpOnF setdumponf_
#define SetDumpStringOnF setdumpstringonf_
#define SetErrorOnF seterroronf_
#define SetLogOnF setlogonf_
#define SetOutputOnF setoutputonf_
#define SetSelectedOutputOnF setselectedoutputonf_
//#define SystemF systemf_
#endif
#include "fwrap.h"
@ -86,7 +100,7 @@ LoadDatabaseStringF(int *id, char* input, unsigned int input_length)
cinput = f2cstring(input, input_length);
if (!cinput)
{
::AddErrorM(*id, "LoadDatabase: Out of memory.\n");
::AddErrorM(*id, "LoadDatabaseString: Out of memory.\n");
return VR_OUTOFMEMORY;
}
@ -95,7 +109,6 @@ LoadDatabaseStringF(int *id, char* input, unsigned int input_length)
return n;
}
IPQ_RESULT
AccumulateLineF(int *id, char *line, unsigned int line_length)
{
@ -181,9 +194,9 @@ GetComponentCountF(int *id)
}
void
GetComponentF(int *id, int *n, char* line, unsigned int line_length)
GetComponentF(int *id, int *n, char* comp, unsigned int line_length)
{
padfstring(line, ::GetComponentM(*id, (*n) - 1), line_length);
padfstring(comp, ::GetComponentM(*id, (*n) - 1), line_length);
}
int
@ -301,22 +314,22 @@ OutputLinesF(int *id)
extern "C" {
#endif
// COMMENT: {4/5/2010 7:12:55 PM}int
// COMMENT: {4/5/2010 7:12:55 PM}SystemF(char* command, unsigned int command_length)
// COMMENT: {4/5/2010 7:12:55 PM}{
// COMMENT: {4/5/2010 7:12:55 PM} char* ccommand;
// COMMENT: {4/5/2010 7:12:55 PM}
// COMMENT: {4/5/2010 7:12:55 PM} ccommand = f2cstring(command, command_length);
// COMMENT: {4/5/2010 7:12:55 PM} if (!ccommand)
// COMMENT: {4/5/2010 7:12:55 PM} {
// COMMENT: {4/5/2010 7:12:55 PM} AddError("System: Out of memory.\n");
// COMMENT: {4/5/2010 7:12:55 PM} return (int)VR_OUTOFMEMORY;
// COMMENT: {4/5/2010 7:12:55 PM} }
// COMMENT: {4/5/2010 7:12:55 PM}
// COMMENT: {4/5/2010 7:12:55 PM} int n = system(ccommand);
// COMMENT: {4/5/2010 7:12:55 PM} free(ccommand);
// COMMENT: {4/5/2010 7:12:55 PM} return n;
// COMMENT: {4/5/2010 7:12:55 PM}}
int
SystemF(char* command, unsigned int command_length)
{
char* ccommand;
ccommand = f2cstring(command, command_length);
if (!ccommand)
{
//AddError("System: Out of memory.\n");
return (int)VR_OUTOFMEMORY;
}
int n = system(ccommand);
free(ccommand);
return n;
}
#if defined(__cplusplus)
}

View File

@ -10,6 +10,8 @@ extern "C" {
int LoadDatabaseF(int *id, char* filename, unsigned int filename_length);
int LoadDatabaseStringF(int *id, char* input, unsigned int input_length);
IPQ_RESULT AccumulateLineF(int *id, char *line, unsigned int line_length);
int RunAccumulatedF(int *id);

View File

@ -1,6 +1,6 @@
CPPUNIT = /z/parkplace/home/charlton
CC = g++
DEFINES = -DNDEBUG -DSWIG_SHARED_OBJ -DPHREEQC_CPP -DPHREEQC_CLASS -DUSE_PHRQ_ALLOC
DEFINES = -DNDEBUG -DSWIG_SHARED_OBJ -DPHREEQC_CPP -DPHREEQC_CLASS -DUSE_PHRQ_ALLOC -DCPPUNIT
CFLAGS = -Wall -O3
CPPFLAGS = $(DEFINES) -I$(CPPUNIT)/include -I../include -I../src -I../src/phreeqcpp -I../src/phreeqcpp/phreeqc
TARGET_ARCH =
@ -33,7 +33,6 @@ VPATH=.:../src:../src/phreeqcpp:../src/phreeqcpp/phreeqc
TOBJS = \
TestCVar.o \
TestInterface.o \
TestIPhreeqc.o \
TestIPhreeqcLib.o \
TestSelectedOutput.o \
@ -42,14 +41,10 @@ TOBJS = \
SOBJS = \
IPhreeqc.o \
IPhreeqc2.o \
IPhreeqcLib.o \
SelectedOutput.o \
Var.o \
fwrap.o \
module_files.o \
module_output.o
Var.o
PPOBJS = \
cxxKinetics.o \
@ -136,11 +131,6 @@ clean:
# TOBJS
TestCVar.o: TestCVar.cpp TestCVar.h ../src/CVar.hxx ../src/Debug.h \
../src/../include/Var.h
TestInterface.o: TestInterface.cpp TestInterface.h ../include/IPhreeqc.h \
../include/Var.h ../src/CVar.hxx ../src/Debug.h ../src/../include/Var.h \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/input.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
TestSelectedOutput.o: TestSelectedOutput.cpp TestSelectedOutput.h \
../src/SelectedOutput.hxx ../src/CVar.hxx ../src/Debug.h \
../src/../include/Var.h ../src/phreeqcpp/phreeqc/global.h \
@ -150,7 +140,7 @@ TestSelectedOutput.o: TestSelectedOutput.cpp TestSelectedOutput.h \
TestVar.o: TestVar.cpp TestVar.h ../include/Var.h
unit.o: unit.cpp TestVar.h ../include/Var.h TestCVar.h ../src/CVar.hxx \
../src/Debug.h ../src/../include/Var.h TestSelectedOutput.h \
../src/SelectedOutput.hxx ../src/CVar.hxx TestInterface.h
../src/SelectedOutput.hxx ../src/CVar.hxx
# POBJS
advection.o: ../src/phreeqcpp/phreeqc/advection.c \
@ -306,33 +296,11 @@ utilities.o: ../src/phreeqcpp/phreeqc/utilities.c \
../src/phreeqcpp/phreeqc/phrqproto.h
# SOBJS
IPhreeqc.o: ../src/IPhreeqc.cpp ../include/IPhreeqc.h \
../include/IPhreeqcCallbacks.h ../include/Var.h ../include/IPhreeqc.hpp \
../src/phreeqcpp/Phreeqc.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/cvdense.h ../src/phreeqcpp/phreeqc/cvode.h \
../src/phreeqcpp/phreeqc/nvector.h ../src/phreeqcpp/phreeqc/dense.h \
../src/phreeqcpp/phreeqc/smalldense.h \
../src/phreeqcpp/phreeqc/nvector_serial.h \
../src/phreeqcpp/phreeqc/dense.h ../src/phreeqcpp/runner.h \
../src/phreeqcpp/StorageBinList.h ../src/phreeqcpp/dumper.h \
../src/phreeqcpp/phreeqc/p2c.h \
../src/phreeqcpp/phreeqc/global_structures.h \
../src/phreeqcpp/phreeqc/basic.h \
../src/phreeqcpp/phreeqc/pitzer_structures.h \
../src/phreeqcpp/phreeqc/pitzer.h ../src/phreeqcpp/phreeqc/input.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/global_structures.h \
../include/IPhreeqcCallbacks.h ../include/Var.h \
../src/SelectedOutput.hxx ../src/CVar.hxx ../src/Debug.h \
../src/ErrorReporter.hxx
SelectedOutput.o: ../src/SelectedOutput.cpp ../src/SelectedOutput.hxx \
../src/CVar.hxx ../src/Debug.h ../include/Var.h
Var.o: ../src/Var.c ../src/../include/Var.h
fwrap.o: ../src/fwrap.cpp ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/../include/IPhreeqc.h \
../src/phreeqcpp/phreeqc/phrqtype.h \
../src/../include/Var.h
global.o: ../src/global.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h