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