/***********************************************************************
*
*  projet   : DilibPro
*  module   : Iso2709
*  fichier  : Iso2709SplitFile.c
*  Auteur   : Jacques DUCLOY
*  Date     : Octobre 1994
*  $Id: Iso2709SplitFile.c,v 1.2 2003/02/25 15:51:17 parmentf Exp $
*
************************************************************************/

#include <stdio.h>
#include "CharSet.h"

char R2709RecordSeparator;
char R2709FieldSeparator;
char inputRecordSeparator;
char inputFieldSeparator;
char buffer[100];
int flagField;
int cInput; /* char cInput; */

    int getopt();
    extern char *optarg;

int main(argc,argv)
     int argc;
     char **argv;
{
  int cod_arg;

  R2709RecordSeparator='\035';
  R2709FieldSeparator='\036';
  

  inputRecordSeparator=R2709RecordSeparator;
  inputFieldSeparator=0;
  while ((cod_arg = getopt(argc,argv,"f:r:"))!=EOF)
  {
    switch(cod_arg) 
      {
     case 'f':
	inputFieldSeparator=*CharSetCtoA(optarg, buffer);
	break;
      case 'r':
	inputRecordSeparator=*CharSetCtoA(optarg, buffer);
	break;
	
      }
  }

  while ((cInput=getchar())!=EOF)
    {
      if(cInput==inputRecordSeparator)
	{
	  putchar (R2709RecordSeparator);
	  putchar('\n');
	}
      else
	{
	  if(inputFieldSeparator && cInput==inputFieldSeparator)
	    putchar (R2709FieldSeparator);
	  else putchar(cInput);
      }
    }
  return 0;
}

