Crossfire Server, Branch 1.12  R12190
Functions
path.c File Reference

Contains file path manipulation functions. More...

#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <global.h>
#include "define.h"
#include "path.h"
Include dependency graph for path.c:

Go to the source code of this file.

Functions

char * path_combine (const char *src, const char *dst, char *path, size_t size)
 Combines 2 paths, which can be relative.
char * path_combine_and_normalize (const char *src, const char *dst, char *path, size_t size)
 Combines the 2 paths.
void path_normalize (char *path)
 Cleans specified path.

Detailed Description

Contains file path manipulation functions.

Definition in file path.c.


Function Documentation

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

Combines 2 paths, which can be relative.

Combine two paths and return the combined path.

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 63 of file path.c.

References llevDebug, LOG(), and snprintf().

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:

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

Combines the 2 paths.

Combine two paths and normalize the result.

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 184 of file path.c.

References path_combine(), and path_normalize().

Referenced by check_combine_and_normalize(), command_reset(), enter_exit(), enter_fixed_template_map(), enter_random_template_map(), enter_unique_map(), load_and_link_tiled_map(), load_map_header(), and process_map().

Here is the call graph for this function:

Here is the caller graph for this function:

void path_normalize ( char *  path)

Cleans specified path.

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

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 97 of file path.c.

References llevDebug, and LOG().

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: