Date: Tue, 01 May 2001 00:57:46 -0400 (EDT) From: Mike Heffner <mheffner@vt.edu> To: Warner Losh <imp@harmony.village.org> Cc: FreeBSD-audit <FreeBSD-audit@FreeBSD.ORG> Subject: Re: Small patch to allow mail to read Eudora mailboxes Message-ID: <XFMail.20010501005746.mheffner@vt.edu> In-Reply-To: <200105010419.f414JlR56227@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format --_=XFMail.1.4.7.FreeBSD:20010501005746:439=_ Content-Type: text/plain; charset=us-ascii On 01-May-2001 Warner Losh wrote: | In message <XFMail.20010501000013.mheffner@vt.edu> Mike Heffner writes: |: Because I was syncing with OpenBSD, but yes it can be done this way instead. | | I think that OpenBSD might have a bug lurking because I don't think | the order of operations is well defined enough. You're right, while it does work, it's relying on undefined behavior. Here's the updated patch. Index: fio.c =================================================================== RCS file: /home/ncvs/src/usr.bin/mail/fio.c,v retrieving revision 1.4 diff -u -r1.4 fio.c --- fio.c 2001/03/25 04:57:04 1.4 +++ fio.c 2001/05/01 04:53:50 @@ -94,6 +94,16 @@ return; } count = strlen(linebuf); + /* + * Transforms lines ending in <CR><LF> to just <LF>. + * This allows mail to be able to read Eudora mailboxes. + */ + if (count >= 2 && linebuf[count - 1] == '\n' && + linebuf[count - 2] == '\r') { + count--; + linebuf[count - 1] = '\n'; + } + (void) fwrite(linebuf, sizeof *linebuf, count, otf); if (ferror(otf)) errx(1, "/tmp"); @@ -160,7 +170,7 @@ /* * Read up a line from the specified input into the line * buffer. Return the number of characters read. Do not - * include the newline at the end. + * include the newline (or carriage return) at the end. */ int readline(ibuf, linebuf, linesize) @@ -175,6 +185,8 @@ return -1; n = strlen(linebuf); if (n > 0 && linebuf[n - 1] == '\n') + linebuf[--n] = '\0'; + if (n > 0 && linebuf[n - 1] == '\r') linebuf[--n] = '\0'; return n; } Mike -- Mike Heffner <mheffner@vt.edu> Blacksburg, VA <mikeh@FreeBSD.org> http://filebox.vt.edu/users/mheffner --_=XFMail.1.4.7.FreeBSD:20010501005746:439=_ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE67kJKFokZQs3sv5kRAq+KAKCKR86aFfsToDkO36O2oJyBWdPvFgCfUpxK jBwhBxA92qbdHLslpZAYwBg= =LyBD -----END PGP SIGNATURE----- --_=XFMail.1.4.7.FreeBSD:20010501005746:439=_-- End of MIME message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20010501005746.mheffner>