/*+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; }