/******************************************************************************
*
*               Projet   : DilibPro
*               Module   : CharSet
*               Fichier  : CharSetCtoA.c
*               Auteur   : J. DUCLOY
*               Date     : Aout 93
**********************************************************************************
*
* Copyright (c) 1994 CNRS/CRIN & INRIA Lorraine
* 
******************************************************************************/
#include <ctype.h>

char *CharSetCtoA(s1,s2)
     char *s1;
     char *s2;
{
  char c;
  char c1;
  char c2;
  char c3;
  int i;          /* indice s1 */
  int j;          /* indice s2 */

  i=0;
  j=0;

  while((c=s1[i++]))
    {
      if(c== '\\')
	{
          if((isdigit(s1[i])))
             {
               c1=s1[i++];c2=s1[i++];c3=s1[i++];
               s2[j++]=(c3&7)+((c2&7)<<3)+((c1&7)<<6);
             }
          else
             {
              switch(c=s1[i++])
                {
                  case 'n': s2[j++]='\n'; break;
                  case 't': s2[j++]='\t'; break;
                  case 'v': s2[j++]='\v'; break;
                  case 'b': s2[j++]='\b'; break;
                  case 'r': s2[j++]='\r'; break;
                  case 'f': s2[j++]='\f'; break;
                  default : s2[j++]=c   ; break;
                }
            }
	}
      else
	{
	  s2[j++]=c;
	};
    };
  s2[j]='\0';
  return (s2);
}
