Added the chomp() function (to replace the trim() function reqs.c)

This commit is contained in:
Robert James Kaes 2001-11-23 01:19:15 +00:00
parent fd3b313e9f
commit 4aa5e79cdf
2 changed files with 35 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $Id: utils.c,v 1.17 2001-11-22 00:31:10 rjkaes Exp $
/* $Id: utils.c,v 1.18 2001-11-23 01:19:15 rjkaes Exp $
*
* Misc. routines which are used by the various functions to handle strings
* and memory allocation and pretty much anything else we can think of. Also,
@ -345,3 +345,28 @@ strlcat(char *dst, const char *src, size_t size)
return ret;
}
#endif
/*
* Removes any new-line or carriage-return characters from the end of the
* string. This function is named afrer the same function in Perl.
* "length" should be the number of characters in the buffer, not including
* the trailing NULL.
*
* Returns the number of characters removed from the end of the string.
*/
size_t
chomp(char *buffer, size_t length)
{
size_t chars = 0;
--length;
while (buffer[length] == '\r' || buffer[length] == '\n') {
buffer[length--] = '\0';
chars++;
if (length < 0)
break;
}
return chars;
}

View File

@ -1,4 +1,4 @@
/* $Id: utils.h,v 1.11 2001-11-22 00:31:10 rjkaes Exp $
/* $Id: utils.h,v 1.12 2001-11-23 01:19:15 rjkaes Exp $
*
* See 'utils.h' for a detailed description.
*
@ -23,6 +23,12 @@
#include "conns.h"
/*
* Error codes used within the utility functions.
*/
#define EERROR 1 /* Generic error */
#define ENOMEMORY 2 /* Out of memory (or allocation error) */
extern int send_http_message(struct conn_s *connptr, int http_code,
const char *error_title, const char *message);
extern int httperr(struct conn_s *connptr, int err, const char *msg);
@ -40,6 +46,8 @@ extern size_t strlcat(char *dst, const char *src, size_t size);
extern size_t strlcpy(char *dst, const char *src, size_t size);
#endif /* HAVE_STRLCPY */
extern size_t chomp(char *buffer, size_t length);
/*
* The following is to allow for better memory checking.
*/