diff options
Diffstat (limited to 'contrib/libf2c/libF77/s_cat.c')
-rw-r--r-- | contrib/libf2c/libF77/s_cat.c | 103 |
1 files changed, 49 insertions, 54 deletions
diff --git a/contrib/libf2c/libF77/s_cat.c b/contrib/libf2c/libF77/s_cat.c index 77a94f6..4e8da1b 100644 --- a/contrib/libf2c/libF77/s_cat.c +++ b/contrib/libf2c/libF77/s_cat.c @@ -7,69 +7,64 @@ #ifndef NO_OVERWRITE #include <stdio.h> #undef abs -#ifdef KR_headers - extern char *F77_aloc(); - extern void free(); - extern void G77_exit_0 (); -#else #undef min #undef max #include <stdlib.h> - extern char *F77_aloc(ftnlen, char*); -#endif +extern char *F77_aloc (ftnlen, char *); #include <string.h> #endif /* NO_OVERWRITE */ - VOID -#ifdef KR_headers -s_cat(lp, rpp, rnp, np, ll) char *lp, *rpp[]; ftnint rnp[], *np; ftnlen ll; -#else -s_cat(char *lp, char *rpp[], ftnint rnp[], ftnint *np, ftnlen ll) -#endif +void +s_cat (char *lp, char *rpp[], ftnint rnp[], ftnint * np, ftnlen ll) { - ftnlen i, nc; - char *rp; - ftnlen n = *np; + ftnlen i, nc; + char *rp; + ftnlen n = *np; #ifndef NO_OVERWRITE - ftnlen L, m; - char *lp0, *lp1; + ftnlen L, m; + char *lp0, *lp1; - lp0 = 0; - lp1 = lp; - L = ll; - i = 0; - while(i < n) { - rp = rpp[i]; - m = rnp[i++]; - if (rp >= lp1 || rp + m <= lp) { - if ((L -= m) <= 0) { - n = i; - break; - } - lp1 += m; - continue; - } - lp0 = lp; - lp = lp1 = F77_aloc(L = ll, "s_cat"); - break; - } - lp1 = lp; + lp0 = 0; + lp1 = lp; + L = ll; + i = 0; + while (i < n) + { + rp = rpp[i]; + m = rnp[i++]; + if (rp >= lp1 || rp + m <= lp) + { + if ((L -= m) <= 0) + { + n = i; + break; + } + lp1 += m; + continue; + } + lp0 = lp; + lp = lp1 = F77_aloc (L = ll, "s_cat"); + break; + } + lp1 = lp; #endif /* NO_OVERWRITE */ - for(i = 0 ; i < n ; ++i) { - nc = ll; - if(rnp[i] < nc) - nc = rnp[i]; - ll -= nc; - rp = rpp[i]; - while(--nc >= 0) - *lp++ = *rp++; - } - while(--ll >= 0) - *lp++ = ' '; + for (i = 0; i < n; ++i) + { + nc = ll; + if (rnp[i] < nc) + nc = rnp[i]; + ll -= nc; + rp = rpp[i]; + while (--nc >= 0) + *lp++ = *rp++; + } + while (--ll >= 0) + *lp++ = ' '; #ifndef NO_OVERWRITE - if (lp0) { - memcpy(lp0, lp1, L); - free(lp1); - } + if (lp0) + { + memcpy (lp0, lp1, L); + free (lp1); + } #endif - } +} |