| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*
- * Copyright (c) 1993 W. Richard Stevens. All rights reserved.
- * Permission to use or modify this software and its documentation only for
- * educational purposes and without fee is hereby granted, provided that
- * the above copyright notice appear in all copies. The author makes no
- * representations about the suitability of this software for any purpose.
- * It is provided "as is" without express or implied warranty.
- */
- #include "sock.h"
- /* Convert newline to return/newline. */
- int
- crlf_add(char *dst, int dstsize, const char *src, int lenin)
- {
- int lenout;
- char c;
- if ( (lenout = lenin) > dstsize)
- err_quit("crlf_add: destination not big enough");
- for ( ; lenin > 0; lenin--) {
- if ( (c = *src++) == '\n') {
- if (++lenout >= dstsize)
- err_quit("crlf_add: destination not big enough");
- *dst++ = '\r';
- }
- *dst++ = c;
- }
- return(lenout);
- }
- int
- crlf_strip(char *dst, int dstsize, const char *src, int lenin)
- {
- int lenout;
- char c;
- for (lenout = 0; lenin > 0; lenin--) {
- if ( (c = *src++) != '\r') {
- if (++lenout >= dstsize)
- err_quit("crlf_strip: destination not big enough");
- *dst++ = c;
- }
- }
- return(lenout);
- }
|