/**********************************************************************
*
*  File: CharSetUrl.c
*
***********************************************************************
*
* Copyleft  2012 Université de Lorraine
* 
***********************************************************************/

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

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

  i=0;
  while((c1=param[i++]))
    {
      switch(c1)
	{
	case ' ':
	  BufferStrcat(b1,"%20");
	  break;
	case '\n':
	  BufferStrcat(b1,"%0A");
	  break;
	case '&':
	  BufferStrcat(b1,"%26");
	  break;
	case '<':
	  BufferStrcat(b1,"&lt;");
	  break;
	case '>':
	  BufferStrcat(b1,"&gt;");
	  break;
	case '=':
	  BufferStrcat(b1,"%3D");
	  break;
	case '"':
	  BufferStrcat(b1,"%22");
	  break;
	case '#':
	  BufferStrcat(b1,"%23");
	  break;
	case '+':
	  BufferStrcat(b1,"%2B");
	  break;
	default:
	  BufferCharCat(b1,c1);
	  break;
	}
    }
  return BufferString(b1);
}

