1*6dd63270SBarry Smith #include <petsc/private/ftnimpl.h>
255fcb7f5SSatish Balay
355fcb7f5SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS)
455fcb7f5SSatish Balay #define petscstrncpy_ PETSCSTRNCPY
555fcb7f5SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
655fcb7f5SSatish Balay #define petscstrncpy_ petscstrncpy
755fcb7f5SSatish Balay #endif
855fcb7f5SSatish Balay
petscstrncpy_(char * s1,char * s2,int * n,PetscErrorCode * ierr,PETSC_FORTRAN_CHARLEN_T len1,PETSC_FORTRAN_CHARLEN_T len2)95975b3b6SBarry Smith PETSC_EXTERN void petscstrncpy_(char *s1, char *s2, int *n, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len1, PETSC_FORTRAN_CHARLEN_T len2)
1055fcb7f5SSatish Balay {
1155fcb7f5SSatish Balay char *t1, *t2;
1202f1c2d0SLisandro Dalcin PETSC_FORTRAN_CHARLEN_T m;
1355fcb7f5SSatish Balay
1455fcb7f5SSatish Balay t1 = s1;
1555fcb7f5SSatish Balay t2 = s2;
165975b3b6SBarry Smith m = (PETSC_FORTRAN_CHARLEN_T)*n;
175975b3b6SBarry Smith if (len1 < m) m = len1;
185975b3b6SBarry Smith if (len2 < m) m = len2;
1955fcb7f5SSatish Balay *ierr = PetscStrncpy(t1, t2, m);
2055fcb7f5SSatish Balay }
21