xref: /petsc/src/sys/utils/ftn-custom/zstrf.c (revision b45d2f2cb7e031d9c0de5873eca80614ca7b863b)
1*b45d2f2cSJed Brown #include <petsc-private/fortranimpl.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 
955fcb7f5SSatish Balay EXTERN_C_BEGIN
1055fcb7f5SSatish Balay void PETSC_STDCALL petscstrncpy_(CHAR s1 PETSC_MIXED_LEN(len1),CHAR s2 PETSC_MIXED_LEN(len2),int *n,
1155fcb7f5SSatish Balay                                  PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2))
1255fcb7f5SSatish Balay {
1355fcb7f5SSatish Balay   char *t1,*t2;
1455fcb7f5SSatish Balay   int  m;
1555fcb7f5SSatish Balay 
1655fcb7f5SSatish Balay   t1 = s1;
1755fcb7f5SSatish Balay   t2 = s2;
1855fcb7f5SSatish Balay   m = *n; if (len1 < m) m = len1; if (len2 < m) m = len2;
1955fcb7f5SSatish Balay   *ierr = PetscStrncpy(t1,t2,m);
2055fcb7f5SSatish Balay }
2155fcb7f5SSatish Balay 
2255fcb7f5SSatish Balay EXTERN_C_END
23