1 /* Unless compiled with -DNO_OVERWRITE, this variant of s_copy allows the
2 * target of an assignment to appear on its right-hand side (contrary
3 * to the Fortran 77 Standard, but in accordance with Fortran 90),
4 * as in a(2:5) = a(4:7) .
9 /* assign strings: a = b */
12 VOID s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb;
14 void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)
17 register char *aend, *bend;
23 if (a <= b || a >= b + la)
29 for(b += la; a < aend; )
36 if (a <= b || a >= bend)