xref: /petsc/src/sys/utils/ftn-custom/zstrf.c (revision b41ce5d507ea9a58bfa83cf403107a702e77a67d)
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   int  m;
14 
15   t1    = s1;
16   t2    = s2;
17   m     = *n; if (len1 < m) m = len1;if (len2 < m) m = len2;
18   *ierr = PetscStrncpy(t1,t2,m);
19 }
20