1 #include <petsc/private/ftnimpl.h> 2 #include <petscbag.h> 3 #include <petsc/private/bagimpl.h> 4 #include <petscviewer.h> 5 6 #if defined(PETSC_HAVE_FORTRAN_CAPS) 7 #define petscbagregisterstring_ PETSCBAGREGISTERSTRING 8 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 9 #define petscbagregisterstring_ petscbagregisterstring 10 #endif 11 12 PETSC_EXTERN void petscbagregisterstring_(PetscBag *bag, char *p, char *cs1, char *s1, char *s2, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T pl, PETSC_FORTRAN_CHARLEN_T cl1, PETSC_FORTRAN_CHARLEN_T l1, PETSC_FORTRAN_CHARLEN_T l2) 13 { 14 char *t1, *t2, *ct1; 15 FIXCHAR(s1, l1, t1); 16 FIXCHAR(cs1, cl1, ct1); 17 FIXCHAR(s2, l2, t2); 18 *ierr = PetscBagRegisterString(*bag, (void *)p, (PetscInt)pl, ct1, t1, t2); 19 if (*ierr) return; 20 FREECHAR(cs1, ct1); 21 FREECHAR(s1, t1); 22 FREECHAR(s2, t2); 23 } 24