/*+JMJ
 * common.c - tir HTML renderer common functions
 * Copyright 2011 David Meyer <papa@freeshell.org>
 * common.c is part of tirrender
 */

#include <stdio.h>
#include <string.h>
#include "krcompat.h"
#include "tirrender.h"

/* CONSTANTS: ******************************************************/

#define LOCATION_CHAR ".-_~/"
#define FILE_CHAR ".-_~"

/* MACROS: *********************************************************/

/* GLOBALS: ********************************************************/

struct {
  char dataset[30];
  char root[30];
  char group[30];
} dstab[] = { "black", "/path/to/ds/black/root", "black",
	      "green", "/path/to/ds/green/root", "*" };

/* PROTOTYPES: *****************************************************/

/* FUNCTIONS: ******************************************************/

int render (dataset, location, file)
     char dataset[];
     char location[];
     char file[];
{
  printf("render dataset=%s|location=%s|file=%s\n", dataset, location, file);
  return 0;
}

int baddataset (dataset)
     char dataset[];
{

}

int badfile (file)
     char file[];
{

}

int badlocation (location)
     char location[];
{
  int n;

  for (n = 0; n < strlen(location); n++) {
    char c = location[n];

    if (!isalnum(c) && (strchr(LOCATION_CHAR, c) == NULL)) return 1;
  }

  if (strcmp(location, "..") || strncmp(location, "../", 3) || strstr(location, "/../") || strcmp(location + strlen(location) - 3, "/..")) return 1;

  /* test if location dir exists in dataset */

  return 0;
}