TerminalSlash = LYIsPathSep(path[(strlen(path) - 1)]);
TerminalSlash = (BOOL) (LYIsPathSep(path[(strlen(path) - 1)]));
PUBLIC void LYTrimRelFromAbsPath ARGS1(	char *,		path){    char *cp;    int i;    BOOL TerminalSlash;    /*     *	Make sure we have a pointer to an absolute path. - FM     */    if (path == NULL || !LYIsPathSep(*path))	return;    /*     *	Check whether the path has a terminal slash. - FM     */    TerminalSlash = LYIsPathSep(path[(strlen(path) - 1)]);    /*     *	Simplify the path and then do any necessary trimming. - FM     */    HTSimplify(path);    cp = path;    while (cp[1] == '.') {	if (cp[2] == '\0') {	    /*	     *	Eliminate trailing dot. - FM	     */	    cp[1] = '\0';	} else if (LYIsPathSep(cp[2])) {	    /*	     *	Skip over the "/." of a "/./". - FM	     */	    cp += 2;	} else if (cp[2] == '.' && cp[3] == '\0') {	    /*	     *	Eliminate trailing dotdot. - FM	     */	    cp[1] = '\0';	} else if (cp[2] == '.' && cp[3] == '/') {	    /*	     *	Skip over the "/.." of a "/../". - FM	     */	    cp += 3;	} else {	    /*	     *	Done trimming. - FM	     */	    break;	}    }    /*     *	Load any shifts into path, and eliminate any     *	terminal slash created by HTSimplify() or our     *	walk, but not present originally. - FM     */    if (cp > path) {	for (i = 0; cp[i] != '\0'; i++)	    path[i] = cp[i];	path[i] = '\0';    }    if (TerminalSlash == FALSE) {	LYTrimPathSep(path);    }}