diff --git a/docs/Makefile b/docs/Makefile index 4522997..3070bed 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -2,7 +2,7 @@ ASCIIDOC = asciidoc HTML_DOCS = index.html api-notify.html strbuf.html xalloc.html rbtree.html \ - log.html fscrawl.html + log.html fscrawl.html path.html ifndef VERBOSE QUIET_ASCIIDOC = @echo ' ' GEN $@; diff --git a/docs/path.txt b/docs/path.txt new file mode 100644 index 0000000..ecada5d --- /dev/null +++ b/docs/path.txt @@ -0,0 +1,35 @@ +Path - Path handling routines +----------------------------- + +This module implements common routines for dealing with paths. + +Functions +~~~~~~~~~ + +`is_abspath()`:: + + Returns a non zero value if 'path' is an absolute path. zero otherwise. + +`is_file()`:: + + Returns a non zero value if 'path' is a regular file. zero otherwise. + +`is_dir()`:: + + Returns a non zero value if 'path' is a directory. zero otherwise. + +`path_normalize`:: + +Returns a string that contains the normalized full path specified by 'base', 'name' and 'dir'. + +The function performs this type of checks/manipulation: ++ +-- + * If the first character in 'base' is "~" it is expanded to the users home directory. + * Sequences of delimiters are replaced with one delimiter. + * Makes sure 'base' is an absolute path. + * 'name' must not contain an delimiter. + * terminates the string with an delimiter if 'dir' is non-zero. +-- ++ +Returns `NULL` if 'base' is not an absolute path or 'name' contains a delimiter. +