// .............................................................. fieldcpy.cc
//                                                       versione 08.APR.2003

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "corso.h"

// ================================================================= fieldcpy

void fieldcpy(char *dest,char *source,int n)
{
  int i,nField;
  unsigned char *ptr;

  /* .......................................................... void string */
  dest[0]=0;
  /* .......................... negative field number or void source string */
  if (n<0 || source[0]==0) return;
  /* ...................................... search for first non-blank byte */
  ptr=(unsigned char *)source;
  while(ptr[0]<=' ')
    { ptr++;
      if (ptr[0]==0) return;
    }
  /* ......................................................... count fields */
  nField=0;
  while (nField<n)
    { while(ptr[0]>' ') {ptr++;if (ptr[0]==0) return;}
      while(ptr[0]<=' ') {ptr++;if (ptr[0]==0) return;}
      nField++;
    }
  /* ....................................................... copy nth field */
  i=0;
  for (;;)
    { if (ptr[i]<=' ') {dest[i]=0;break;}
      dest[i]=ptr[i];
      i++;
    }
}
