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 PetscDefined(HAVE_FORTRAN_CAPS)
  7:   #define petscbagregisterstring_ PETSCBAGREGISTERSTRING
  8: #elif !PetscDefined(HAVE_FORTRAN_UNDERSCORE)
  9:   #define petscbagregisterstring_ petscbagregisterstring
 10: #endif

 12: PETSC_EXTERN void petscbagregisterstring_(PetscBag *bag, char *addr, char *mdefault, char *name, char *help, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T l_addr, PETSC_FORTRAN_CHARLEN_T l_mdefault, PETSC_FORTRAN_CHARLEN_T l_name, PETSC_FORTRAN_CHARLEN_T l_help)
 13: {
 14:   char *t1, *t2, *ct1;
 15:   FIXCHAR(name, l_name, t1);
 16:   FIXCHAR(mdefault, l_mdefault, ct1);
 17:   FIXCHAR(help, l_help, t2);
 18:   *ierr = PetscBagRegisterString(*bag, (void *)addr, (PetscInt)l_addr, ct1, t1, t2);
 19:   if (*ierr) return;
 20:   FREECHAR(mdefault, ct1);
 21:   FREECHAR(name, t1);
 22:   FREECHAR(help, t2);
 23: }