#include <strings.h>
#include <stdlib.h>
#include <stdio.h>

void
fnsplit (char *path, char *drive, char *dir, char *name, char *ext)
{
  char temppath[128];
  char *cptr, *p1, *p2, *p3;

  *(ext++) = '.';

  strcpy (temppath, path);
  cptr = strtok (temppath, " :");
  p1 = strtok (NULL, ":");
  if (p1 == NULL)
    {
      *drive = '\0';
      p1 = temppath;
    }
  else
    {
      *drive = *cptr;
      *(drive + 1) = ':';
    }
  strcpy (temppath, path);
  p2 = p1;
  p3 = p1;
  while (*p2 != '\0')
    {
      if (*p2 == '\\')
	p3 = p2;
      p2++;
    }
  p2 = p1;
  while (p2 != p3)
    *(dir++) = *(p2++);
  if (p2 != p1)
    {
      *(dir++) = '\\';
      p3++;
    }
  *dir = '\0';
  while ((*p3) != '.' && (*p3) != '\0')
    *(name++) = *(p3++);
  *name = '\0';
  if (*(p3++) == '.')
    while (*p3 != NULL)
      *(ext++) = *(p3++);
  *ext = '\0';
}
/*
main(int argc,char **argv)
{
    char hell[100];
    char drive[10];
    char dir[50];
    char name[50];
    char ext[10];

    fnsplit(argv[1],drive,dir,name,ext);
    printf("%s %s %s %s\n",drive,dir,name,ext);
}



  */
