scmdata
static scmdata_t scmdata;
if (scmdata.manifest == NULL ||
(strcmp(scmpath, scmdata.metapath) != 0 &&
strncmp(path, scmdata.root, scmdata.rootlen - 1) != 0) {
pnset_free(scmdata.manifest);
scmdata.manifest = NULL;
if (!scmdata.rootwarn) {
scmdata.rootwarn = B_TRUE;
(void) strlcpy(scmdata.metapath, scmpath, MAXPATHLEN);
(void) strlcpy(scmdata.root, basepath, MAXPATHLEN);
scmdata.manifest = manifest_func(scmdata.root);
if (scmdata.root[strlen(scmdata.root) - 1] != '/')
(void) strlcat(scmdata.root, "/", MAXPATHLEN);
scmdata.rootlen = strlen(scmdata.root);
path += scmdata.rootlen;
return (scmdata.manifest != NULL && pnset_check(scmdata.manifest,