/******************************************************************************
*
*    Projet   : DilibXml
*    Module   : SxmlNode
*    Fichier  : SxmlRecordPutKey.c
*    Auteur   : J. DUCLOY
*    Date     : Aout 2012
*
******************************************************************************/

#include <stdlib.h>
#include <string.h>
#include "BufferParser.h"

    int getopt();
    extern char *optarg;

void usage()
{
  perror ("usage: SxmlRecordPutKey [-b begin] <inputFile \n");
  exit(1);
}

int main(argc,argv)
     int argc;
     char **argv;
{
  char *bIn;
  Buffer *buf1;
  char *beginKey;

  int numberRecords;
  int numRec;
  int lKeyNum;
  int cod_arg;

  beginKey="";
  numRec=0;
  lKeyNum=6;
  buf1=BufferCreate(10,10);

  while ((cod_arg = getopt(argc,argv,"b:"))!=EOF)
    {switch(cod_arg) 
      {
      case 'b':
	beginKey=optarg;
      }
    }


  while((bIn=BufferParserStdinGetXmlUnit()))
    {
      int lKey2;
      if ((strcmp(bIn,"\n")==0))
	{
	  putchar('\n');
	  continue;
	}
      printf("%s", beginKey);
      sprintf(BufferString(buf1),"%d",numRec++);
      lKey2=lKeyNum-strlen(BufferString(buf1));
      while (lKey2--)putchar('0');
      printf("%s\t",BufferString(buf1));
      printf("%s",bIn);
    }
  exit (0);
}
