-const char encode_rcs[] = "$Id: encode.c,v 1.2 2001/05/17 22:52:35 oes Exp $";
+const char encode_rcs[] = "$Id: encode.c,v 1.3 2001/11/13 00:16:40 jongfoster Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/encode.c,v $
*
* Revisions :
* $Log: encode.c,v $
+ * Revision 1.3 2001/11/13 00:16:40 jongfoster
+ * Replacing references to malloc.h with the standard stdlib.h
+ * (See ANSI or K&R 2nd Ed)
+ *
* Revision 1.2 2001/05/17 22:52:35 oes
* - Cleaned CRLF's from the sources and related files
*
*
* Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free().
+ * If s is NULL, or on out-of memory, returns NULL.
*
*********************************************************************/
char * html_encode(const char *s)
{
+ char * buf;
+
+ if (s == NULL)
+ {
+ return NULL;
+ }
+
/* each input char can expand to at most 6 chars */
- char * buf = (char *) malloc((strlen(s) * 6) + 1);
+ buf = (char *) malloc((strlen(s) * 6) + 1);
if (buf)
{
return(buf);
}
+
+/*********************************************************************
+ *
+ * Function : html_encode_and_free_original
+ *
+ * Description : Encodes a string so it's not interpreted as
+ * containing HTML tags or entities.
+ * Replaces <, >, &, and " with the appropriate HTML
+ * entities. Free()s original string.
+ * If original string is NULL, simply returns NULL.
+ *
+ * Parameters :
+ * 1 : s = String to encode. Null-terminated.
+ *
+ * Returns : Encoded string, newly allocated on the heap.
+ * Caller is responsible for freeing it with free().
+ * If s is NULL, or on out-of memory, returns NULL.
+ *
+ *********************************************************************/
+char * html_encode_and_free_original(char *s)
+{
+ char * result;
+
+ if (s == NULL)
+ {
+ return NULL;
+ }
+
+ result = html_encode(s);
+ free(s);
+
+ return result;
+}
+
+
/*********************************************************************
*
* Function : cookie_encode
*
* Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free().
+ * If s is NULL, or on out-of memory, returns NULL.
*
*********************************************************************/
char * cookie_encode(const char *s)
{
+ char * buf;
+
+ if (s == NULL)
+ {
+ return NULL;
+ }
+
/* each input char can expand to at most 3 chars */
- char * buf = (char *) malloc((strlen(s) * 3) + 1);
+ buf = (char *) malloc((strlen(s) * 3) + 1);
if (buf)
{
*
* Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free().
+ * If s is NULL, or on out-of memory, returns NULL.
*
*********************************************************************/
char * url_encode(const char *s)
{
+ char * buf;
+
+ if (s == NULL)
+ {
+ return NULL;
+ }
+
/* each input char can expand to at most 3 chars */
- char * buf = (char *) malloc((strlen(s) * 3) + 1);
+ buf = (char *) malloc((strlen(s) * 3) + 1);
if (buf)
{