Provided by: aolserver4-dev_4.5.1-16_amd64 bug

NAME

       Ns_HomePath, Ns_LibPath, Ns_MakePath, Ns_ModulePath, Ns_NormalizePath, Ns_PathIsAbsolute -
       Pathname procedures

SYNOPSIS

       #include "ns.h"

       char *
       Ns_HomePath(Ns_DString *dest, ...)

       char *
       Ns_LibPath(Ns_DString *dest, ...)

       char *
       Ns_MakePath(Ns_DString *dest, ...)

       char *
       Ns_ModulePath(Ns_DString *dest, char *server, char *module, ...)

       char *
       Ns_NormalizePath(Ns_DString *dsPtr, char *path)

       int
       Ns_PathIsAbsolute(char *path)
_________________________________________________________________

DESCRIPTION

       These functions operate on file pathnames. They work with Unix and  Windows  pathnames  on
       their respective hosts.

       Ns_HomePath(dest, ...)
              Construct  a path name relative to the home directory of the server.  The full path
              is constructed by appending the library directory followed by each of the  variable
              number  of string elements after the dest argument.  The elements will be separated
              by a / character.  The list must be terminated with a NULL string.

       Ns_LibPath(dest, ...)
              Construct a path name relative to the library directory of the server, normally the
              lib/ subdirectory of the home directory.  The full path is constructed by appending
              the library directory followed by each of the variable number  of  string  elements
              after  the  dest  argument.   The elements will be separated by a / character.  The
              list must be terminated with a NULL string.

       Ns_MakePath(dest, ...)
              Construct a path name from a  list  of  path  elements.  The  Ns_MakePath  function
              constructs  a  path  name  by  appending  a  list  of  path  elements  to the given
              Ns_DString. The path elements are separated by single slashes,  and  the  resulting
              path  name  is appended to the given Ns_DString. The last argument needs to be NULL
              to indicate the end of the argument list.

       Ns_ModulePath(dest, char *server, char *module, ...)
              Construct a server and/or module specific pathname  relative  to  the  server  home
              directory.   The  path in constructed by first appending the server home directory.
              Next, if  the  server  argument  is  not  NULL,  "server/servere  appended  to  the
              destination  and  if  the  module  argument  is  not  NULL, "module/module" will be
              appended.  Finally, all other string elements, if any,  will  be  appended  to  the
              destination  with separating / characters.  The list must be terminated with a NULL
              string.

       Ns_NormalizePath(dsPtr, path)
              Normalize a path name. This function removes any extraneous slashes from  the  path
              and  resolves  "."  and  ".."   references.  The  result  is  appended to the given
              Ns_DString. The following code appends "/dog" to the Ns_DString:

              Ns_NormalizePath(&ds,
                  "/dog/cat/../../rat/../../dog//mouse/..");

       Ns_PathIsAbsolute(path)
              Check for an absolute path name.  Return  NS_TRUE  if  the  path  is  absolute  and
              NS_FALSE  otherwise. Under Unix, an absolute path starts with a "/". On Windows, it
              starts with a drive letter followed immediately by a ":".

SEE ALSO

       nsd(1), info(n)

KEYWORDS