xref: /petsc/src/sys/info/ftn-custom/zverboseinfof.c (revision 5c6c1daec53e1d9ab0bec9db5309fd8fc7645b8d)
1*5c6c1daeSBarry Smith #include <petsc-private/fortranimpl.h>
2*5c6c1daeSBarry Smith 
3*5c6c1daeSBarry Smith 
4*5c6c1daeSBarry Smith #ifdef PETSC_HAVE_FORTRAN_CAPS
5*5c6c1daeSBarry Smith #define petscinfo_ PETSCINFO
6*5c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
7*5c6c1daeSBarry Smith #define petscinfo_ petscinfo
8*5c6c1daeSBarry Smith #endif
9*5c6c1daeSBarry Smith 
10*5c6c1daeSBarry Smith EXTERN_C_BEGIN
11*5c6c1daeSBarry Smith 
12*5c6c1daeSBarry Smith #undef __FUNCT__
13*5c6c1daeSBarry Smith #define __FUNCT__ "PetscFixSlashN"
14*5c6c1daeSBarry Smith static PetscErrorCode PetscFixSlashN(const char *in, char **out)
15*5c6c1daeSBarry Smith {
16*5c6c1daeSBarry Smith   PetscErrorCode ierr;
17*5c6c1daeSBarry Smith   PetscInt       i;
18*5c6c1daeSBarry Smith   size_t         len;
19*5c6c1daeSBarry Smith 
20*5c6c1daeSBarry Smith   PetscFunctionBegin;
21*5c6c1daeSBarry Smith   ierr = PetscStrallocpy(in,out);CHKERRQ(ierr);
22*5c6c1daeSBarry Smith   ierr = PetscStrlen(*out,&len);CHKERRQ(ierr);
23*5c6c1daeSBarry Smith   for (i=0; i<(int)len-1; i++) {
24*5c6c1daeSBarry Smith     if ((*out)[i] == '\\' && (*out)[i+1] == 'n') {(*out)[i] = ' '; (*out)[i+1] = '\n';}
25*5c6c1daeSBarry Smith   }
26*5c6c1daeSBarry Smith   PetscFunctionReturn(0);
27*5c6c1daeSBarry Smith }
28*5c6c1daeSBarry Smith 
29*5c6c1daeSBarry Smith void PETSC_STDCALL petscinfo_(CHAR text PETSC_MIXED_LEN(len1),PetscErrorCode *ierr PETSC_END_LEN(len1))
30*5c6c1daeSBarry Smith {
31*5c6c1daeSBarry Smith   char *c1,*tmp;
32*5c6c1daeSBarry Smith 
33*5c6c1daeSBarry Smith   FIXCHAR(text,len1,c1);
34*5c6c1daeSBarry Smith   *ierr = PetscFixSlashN(c1,&tmp);if (*ierr) return;
35*5c6c1daeSBarry Smith   *ierr = PetscInfo(PETSC_NULL,tmp);if (*ierr) return;
36*5c6c1daeSBarry Smith   *ierr = PetscFree(tmp);if (*ierr) return;
37*5c6c1daeSBarry Smith   FREECHAR(text,c1);
38*5c6c1daeSBarry Smith }
39*5c6c1daeSBarry Smith 
40*5c6c1daeSBarry Smith EXTERN_C_END
41