mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
[svn] Doc fix.
This commit is contained in:
parent
c9dbaba251
commit
eef4527c24
@ -1,3 +1,13 @@
|
||||
2001-12-05 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||
|
||||
* utils.c (path_simplify): Document with test cases.
|
||||
|
||||
2001-12-04 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||
|
||||
* gen_sslfunc.c: Ditto.
|
||||
|
||||
* rbuf.c: Include <string.h>.
|
||||
|
||||
2001-12-04 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||
|
||||
* recur.c (retrieve_tree): Check whether the URL was already
|
||||
|
@ -27,6 +27,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/crypto.h>
|
||||
|
@ -22,6 +22,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#include <config.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#include "wget.h"
|
||||
#include "rbuf.h"
|
||||
|
34
src/utils.c
34
src/utils.c
@ -487,15 +487,21 @@ ps (char *orig)
|
||||
Non-leading `../'s and trailing `..'s are handled by removing
|
||||
portions of the path.
|
||||
|
||||
E.g. "a/b/c/./../d/.." will yield "a/b". This function originates
|
||||
from GNU Bash.
|
||||
E.g. "a/b/c/./../d/.." will yield "a/b/". This function originates
|
||||
from GNU Bash and has been mutilated to unrecognition for use in
|
||||
Wget.
|
||||
|
||||
Changes for Wget:
|
||||
Always use '/' as stub_char.
|
||||
Don't check for local things using canon_stat.
|
||||
Change the original string instead of strdup-ing.
|
||||
React correctly when beginning with `./' and `../'.
|
||||
Don't zip out trailing slashes. */
|
||||
Don't zip out trailing slashes.
|
||||
Return a value indicating whether any modifications took place.
|
||||
|
||||
If you dare change this function, take a careful look at the test
|
||||
cases below, and make sure that they pass. */
|
||||
|
||||
int
|
||||
path_simplify (char *path)
|
||||
{
|
||||
@ -600,6 +606,28 @@ path_simplify (char *path)
|
||||
|
||||
return changes;
|
||||
}
|
||||
|
||||
/* Test cases:
|
||||
ps("") -> ""
|
||||
ps("/") -> "/"
|
||||
ps(".") -> ""
|
||||
ps("..") -> ""
|
||||
ps("/.") -> "/"
|
||||
ps("/..") -> "/"
|
||||
ps("foo") -> "foo"
|
||||
ps("foo/bar") -> "foo/bar"
|
||||
ps("foo//bar") -> "foo/bar" (possibly a bug)
|
||||
ps("foo/../bar") -> "bar"
|
||||
ps("foo/bar/..") -> "foo/"
|
||||
ps("foo/bar/../x") -> "foo/x"
|
||||
ps("foo/bar/../x/") -> "foo/x/"
|
||||
ps("foo/..") -> ""
|
||||
ps("/foo/..") -> "/"
|
||||
ps("a/b/../../c") -> "c"
|
||||
ps("/a/b/../../c") -> "/c"
|
||||
ps("./a/../b") -> "b"
|
||||
ps("/./a/../b") -> "/b"
|
||||
*/
|
||||
|
||||
/* "Touch" FILE, i.e. make its atime and mtime equal to the time
|
||||
specified with TM. */
|
||||
|
Loading…
Reference in New Issue
Block a user