1 #ifndef __XROOTD_XPATH__
2 #define __XROOTD_XPATH__
37 #define XROOTDXP_NOLK 2
38 #define XROOTDXP_NOCGI 4
39 #define XROOTDXP_NOSLASH 8
40 #define XROOTDXP_NOMWCHK 16
47 inline int Opts() {
return pathopt;}
48 inline char *
Path() {
return path;}
49 inline char *
Path(
int &PLen)
50 {PLen = pathlen;
return path;}
51 void Set(
int opts,
const char *pathdata=0)
54 {
if (path) free(path);
55 pathlen = strlen(pathdata);
56 path = strdup(pathdata);
64 {
while(p && newp->pathlen < p->pathlen)
65 {pp = p; p = p->next;}
67 while(p && newp->pathlen >= p->pathlen)
68 {pp = p; p = p->next;}
71 if (pp) pp->next = newp;
75 inline int Validate(
const char *pd,
const int pl=0)
76 {
int plen = (pl ? pl : strlen(pd));
78 while(p && plen >= p->pathlen)
79 {
if (!strncmp(pd, p->path, p->pathlen))
88 pathopt = popt | flags;
89 pathlen = strlen(pathdata);
90 path = strdup(pathdata);
int Validate(const char *pd, const int pl=0)
void Insert(const char *pd, int popt=0, int flags=XROOTDXP_OK)
void Set(int opts, const char *pathdata=0)
XrdXrootdXPath(const char *pathdata="", int popt=0, int flags=XROOTDXP_OK)