From: Stephen D. <sd...@gm...> - 2005-10-17 01:54:33
|
Are you sure Ns_NormalizePath() is broken? I haven't examined it, but it's worth pointing out that it's most important use is normalizing the *URL path*, called early at the start of conn processing in request.c. The comment for Ns_NormalizePath() says "Assumes an absolute path", which seems reasonable when thinking about just URL paths. We need to figure out whether Ns_NormalizePath() really is broken and fix it, or otherwise resolve the confusion. Also, will [file normalize $path] do the right thing to a URL when used on Windows? # # ns_normalizepath -- # # Normalize the path. WATCH: this procedure is actually broken # because it will normalize "a/b/c" to "/a/b/c" which is WRONG. # This is because it mimics the broken Ns_NormalizePath C-API. # # Please use Tcl [file normalize] instead. This always return # properly normalized absolute path, as expected. # proc ns_normalizepath {path} { if {[file pathtype $path] =3D=3D "relative"} { ns_log warning "normalizepath: $path; broken for relative paths" ns_log warning "normalizepath: use \[file normalize\] instead" set path /$path } file normalize $path } |