4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-17 03:49:46 +08:00
Jeff Johnston ee37ede1d3 2001-02-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/machine/setjmp-dj.h: With DJ Delorie's permission,
        changed the copyright information to allow free modification of the
        file with no reference to "copying.dj".
        * libc/include/sys/stat-dj.h: Ditto.
        * libc/machine/i386/setjmp.S: Ditto.
        * libc/sys/h8300hms/sys/file.h: Ditto.
        * libc/sys/sysmec/access.c: Ditto.
        * libc/sys/sysnecv850/access.c: Ditto.
        * libc/stdio/mktemp.c: Fixed typo for the word copyright.
        * libc/stdlib/getenv_r.c: Ditto.
        * libc/stdlib/putenv_r.c: Ditto.
        * libc/stdlib/setenv_r.c: Ditto.
        * libc/stdlib/getenv.c: Removed DJ reference since any possible
        modifications will now be in the _r version of this file.
        * libc/stdlib/putenv.c: Ditto.
        * libc/stdlib/setenv.c: Ditto.
        * libc/sys/go32/copying.dj: Removed DJ's address which is no longer
        valid.  Added a reference to DJ's web page that contains his address.
        * libc/sys/go32/*.s: Removed references to DJ's old address.
        * libc/sys/go32/*.c: Ditto.
        * libc/sys/go32/*.h: Ditto.
        * libc/sys/go32/*.S: Ditto.
        * libc/sys/go32/sys/*.h: Ditto.
2001-02-22 22:12:43 +00:00

70 lines
1.4 KiB
C

/* This is file CRLF2NL.C */
/*
** Copyright (C) 1991 DJ Delorie
**
** This file is distributed under the terms listed in the document
** "copying.dj".
** A copy of "copying.dj" should accompany this file; if not, a copy
** should be available from where this file was obtained. This file
** may not be distributed without a verbatim copy of "copying.dj".
**
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
unsigned crlf2nl(char *buf, unsigned len)
{
char *bp = buf;
int i=0;
while (len--)
{
if (*bp != 13)
{
*buf++ = *bp;
i++;
}
bp++;
}
return i;
}
unsigned readcr(int fd, char *buf, unsigned len)
{
unsigned i;
i = read(fd, buf, len);
if (i <= 0)
return i;
return crlf2nl(buf, i);
}
static char *sbuf = 0;
#define BUFSIZE 4096
unsigned writecr(int fd, char *buf, unsigned len)
{
unsigned bufp=0, sbufp=0, crcnt=0, rlen=0;
int rv;
if (sbuf == 0)
sbuf = (char *)malloc(BUFSIZE+1);
while (len--)
{
if (buf[bufp] == 10)
{
crcnt++;
sbuf[sbufp++] = 13;
}
sbuf[sbufp++] = buf[bufp++];
if ((sbufp >= BUFSIZE) || (len == 0))
{
rv = write(fd, sbuf, sbufp);
if (rv < 0)
return rv;
rlen += rv - crcnt;
crcnt = 0;
sbufp = 0;
}
}
return rlen;
}