Actual source code: zbagf90.c

  1: #include <petsc/private/ftnimpl.h>
  2: #include <petscbag.h>
  3: #include <petsc/private/bagimpl.h>
  4: #include <petscviewer.h>

  6: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  7:   #define petscbagregisterstring_ PETSCBAGREGISTERSTRING
  8: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
  9:   #define petscbagregisterstring_ petscbagregisterstring
 10: #endif

 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: }