1 /* ascii.c: BetaFTPD ascii filters, written by Beau Kuiper
2 Copyright (C) 1999-2000 Steinar H. Gunderson
4 This program is is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2 of the
6 License as published by the Free Software Foundation.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 * Figures out how much read data was transferred if
27 * a full buffer wasn't sent.
29 int ascii_findlength(const char * const buffer, const int tranlen)
31 int count = 0, pos = 0;
33 while (pos < tranlen) {
34 const char ch = buffer[count++];
44 * ascii_downloadfilter():
45 * Changes LF to CR/LF on the fly (from buffer to
46 * outbuffer), for ASCII downloads.
48 int ascii_downloadfilter(const char * const buffer, char * const outbuffer, const int length)
51 char *b2ptr = outbuffer;
53 for (count = 0; count < length; count++) {
54 const char ch = buffer[count];
63 return (b2ptr - outbuffer);
67 * ascii_uploadfilter():
68 * Removes all CRs (ASCII 13) from buffer on the fly,
71 int ascii_uploadfilter(char * const buffer, const int length)
76 for (count = 0; count < length; count++) {
77 const char ch = buffer[count];
82 return (b2ptr - buffer);
85 #endif /* WANT_ASCII */