fx.io: expand path joining functionality to non-path strings
This commit is contained in:
@@ -18,18 +18,25 @@ FX_TYPE_CLASS_DECLARATION_END(fx_path)
|
||||
|
||||
#define FX_RV_PATH(cstr) FX_RV(fx_path_create_from_cstr(cstr))
|
||||
|
||||
typedef enum fx_system_path {
|
||||
FX_PATH_ROOT = 0,
|
||||
FX_PATH_CWD,
|
||||
FX_PATH_HOME,
|
||||
FX_PATH_CONFIG,
|
||||
} fx_system_path;
|
||||
|
||||
struct fx_file_info;
|
||||
|
||||
FX_API fx_type_id fx_path_get_type(void);
|
||||
|
||||
FX_TYPE_DEFAULT_CONSTRUCTOR(fx_path, FX_TYPE_PATH);
|
||||
|
||||
FX_API fx_path *fx_path_create_root();
|
||||
FX_API fx_path *fx_path_create_cwd();
|
||||
FX_API fx_path *fx_path_create_from_cstr(const char *path);
|
||||
FX_API fx_path *fx_path_get_system(fx_system_path path_type);
|
||||
FX_API fx_path *fx_path_duplicate(const fx_path *path);
|
||||
|
||||
FX_API fx_path *fx_path_join(const fx_path *paths[], size_t nr_paths);
|
||||
FX_API fx_path *fx_path_join_array(const fx_value *values[], size_t nr_values);
|
||||
FX_API fx_path *fx_path_join_list(size_t count, ...);
|
||||
|
||||
FX_API fx_path *fx_path_make_absolute(const fx_path *in);
|
||||
FX_API fx_path *fx_path_make_relative(const fx_path *in);
|
||||
@@ -49,7 +56,7 @@ FX_API enum fx_status fx_path_get_filename(
|
||||
const fx_path *path,
|
||||
fx_string *out_name);
|
||||
|
||||
FX_API const char *fx_path_ptr(const fx_path *path);
|
||||
FX_API const char *fx_path_get_cstr(const fx_path *path);
|
||||
FX_API size_t fx_path_length(const fx_path *path);
|
||||
|
||||
FX_DECLS_END;
|
||||
|
||||
Reference in New Issue
Block a user