1 #include <petsc/private/fortranimpl.h> 2 3 #if defined(PETSC_HAVE_FORTRAN_CAPS) 4 #define petscstrncpy_ PETSCSTRNCPY 5 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 6 #define petscstrncpy_ petscstrncpy 7 #endif 8 9 PETSC_EXTERN void PETSC_STDCALL petscstrncpy_(char* s1 PETSC_MIXED_LEN(len1),char* s2 PETSC_MIXED_LEN(len2),int *n, 10 PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 11 { 12 char *t1,*t2; 13 PETSC_FORTRAN_CHARLEN_T m; 14 15 t1 = s1; 16 t2 = s2; 17 m = (PETSC_FORTRAN_CHARLEN_T) *n; if (len1 < m) m = len1;if (len2 < m) m = len2; 18 *ierr = PetscStrncpy(t1,t2,m); 19 } 20