static unsigned int IsValidFilesystemPath(const char *path) { if ((path != (const char *) NULL) && (*path != '\0')) { #if defined(POSIX) /* For POSIX we check the first character to see of it is a file system path seperator. If not then we ignore the passed data */ if ((*path == *DirectorySeparator)) return IsAccessibleNoLogging(path); #elif defined(MSWINDOWS) /* For Windows we check to see if the path passed seems to be a pathof any kind (contains delimiters) or seem to be either UNC path or one with a drive letter spec in it: \\Server\share, C:\ */ if (((*path == *DirectorySeparator) && (*(path+1) == *DirectorySeparator)) || (*(path+1) == ':') || (strchr(path,*DirectorySeparator) != (char *) NULL)) return IsAccessibleNoLogging(path); #else /* In any other case, we just look to see if it has path delimiters */ if ((strchr(path,*DirectorySeparator) != (char *) NULL)) return IsAccessibleNoLogging(path); #endif } return False; }
static void CatDelegatePath(char *path, const char *binpath, const char *command) { strcpy(path,binpath); strcat(path,command); if (IsAccessibleNoLogging(path)) return; strcpy(path,command); return; }