Crossfire Server, Trunk
path.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

char * path_combine (const char *src, const char *dst, char *path, size_t size)
 
char * path_combine_and_normalize (const char *src, const char *dst, char *path, size_t size)
 
void path_normalize (char *path)
 

Detailed Description

Path-related function prototypes.

Definition in file path.h.

Function Documentation

◆ path_combine()

char* path_combine ( const char *  src,
const char *  dst,
char *  path,
size_t  size 
)

Combine two paths and return the combined path. Returns path.

Combines 2 paths, which can be relative.

Parameters
srcpath we're starting from.
dstpath we're doing to.
pathbuffer containing the combined path.
sizesize of path.
Returns
path.
Note
this doesn't handle the '..', check path_normalize().

Definition at line 51 of file path.cpp.

References llevDebug, LOG(), python_init::path, and strlcpy().

Referenced by check_combine(), and path_combine_and_normalize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ path_combine_and_normalize()

char* path_combine_and_normalize ( const char *  src,
const char *  dst,
char *  path,
size_t  size 
)

Combine two paths and normalize the result. The result is a static buffer; it is valid until the next call to either this function or to combine_path().

Combines the 2 paths.

Parameters
srcpath we're starting from.
dstpath we're getting to.
pathbuffer that will contain combined paths.
sizelength of path.
Returns
path

Definition at line 172 of file path.cpp.

References python_init::path, path_combine(), and path_normalize().

Referenced by check_combine_and_normalize(), CREMapInformationManager::checkItem(), command_reset(), command_swap(), enter_exit(), enter_fixed_template_map(), enter_random_template_map(), enter_unique_map(), load_and_link_tiled_map(), CREMapInformationManager::process(), and process_map().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ path_normalize()

void path_normalize ( char *  path)

Normalize a path; the passed in path is modified in-place.

Cleans specified path. Removes .. and things like that.

Parameters
pathpath to clear. It will be modified in place.
Note
there shouldn't be any buffer overflow, as we just remove stuff.

Definition at line 85 of file path.cpp.

References llevDebug, LOG(), python_init::path, and item::q.

Referenced by check_normalize(), and path_combine_and_normalize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: