/**********************************************************************
*
*  
*
***********************************************************************
*
* Copyleft  2012 Université de Lorraine
* 
***********************************************************************/

#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include "CharSetBuffer.h"

char *CharSetToHtmlBufferCatFromStr(Buffer *b1, char *param)
{
  char c1;
  int i;

  i=0;
  while((c1=param[i++]))
    {
      switch(c1)
	{
	case '\n':
	  BufferStrcat(b1,"<br/>");
	  break;
	case '&':
	  BufferStrcat(b1,"&amp;");
	  break;
	case '<':
	  BufferStrcat(b1,"&lt;");
	  break;
	case '>':
	  BufferStrcat(b1,"&gt;");
	  break;
	default:
	  BufferCharCat(b1,c1);
	  break;
	}
    }
  return BufferString(b1);
}

Buffer *CharSetStrToHtmlBuffer=NULL;

char *CharSetStrToHtml(char *str)
{
  if (!CharSetStrToHtmlBuffer) CharSetStrToHtmlBuffer=NewBuffer();
  BufferStrcpy(CharSetStrToHtmlBuffer, "");
  CharSetToHtmlBufferCatFromStr(CharSetStrToHtmlBuffer, str);
  return BufferString(CharSetStrToHtmlBuffer);
}
