1*55fcb7f5SSatish Balay #include "zpetsc.h" 2*55fcb7f5SSatish Balay #include "petsc.h" 3*55fcb7f5SSatish Balay 4*55fcb7f5SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS) 5*55fcb7f5SSatish Balay #define petscstrncpy_ PETSCSTRNCPY 6*55fcb7f5SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 7*55fcb7f5SSatish Balay #define petscstrncpy_ petscstrncpy 8*55fcb7f5SSatish Balay #endif 9*55fcb7f5SSatish Balay 10*55fcb7f5SSatish Balay EXTERN_C_BEGIN 11*55fcb7f5SSatish Balay void PETSC_STDCALL petscstrncpy_(CHAR s1 PETSC_MIXED_LEN(len1),CHAR s2 PETSC_MIXED_LEN(len2),int *n, 12*55fcb7f5SSatish Balay PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 13*55fcb7f5SSatish Balay { 14*55fcb7f5SSatish Balay char *t1,*t2; 15*55fcb7f5SSatish Balay int m; 16*55fcb7f5SSatish Balay 17*55fcb7f5SSatish Balay #if defined(PETSC_USES_CPTOFCD) 18*55fcb7f5SSatish Balay t1 = _fcdtocp(s1); 19*55fcb7f5SSatish Balay t2 = _fcdtocp(s2); 20*55fcb7f5SSatish Balay m = *n; if (_fcdlen(s1) < m) m = _fcdlen(s1); if (_fcdlen(s2) < m) m = _fcdlen(s2); 21*55fcb7f5SSatish Balay #else 22*55fcb7f5SSatish Balay t1 = s1; 23*55fcb7f5SSatish Balay t2 = s2; 24*55fcb7f5SSatish Balay m = *n; if (len1 < m) m = len1; if (len2 < m) m = len2; 25*55fcb7f5SSatish Balay #endif 26*55fcb7f5SSatish Balay *ierr = PetscStrncpy(t1,t2,m); 27*55fcb7f5SSatish Balay } 28*55fcb7f5SSatish Balay 29*55fcb7f5SSatish Balay EXTERN_C_END 30