canonicalize_filename
Converts any filename into its canonical form.
Description
Converts any filename into its canonical form, i.e. the minimal absolute
filename describing the same file and fixing incorrect forward/backward
slashes for the current platform, storing at most `size' bytes into the
`dest' buffer. You can use the same buffer both as input and output
because Allegro internally works on a copy of the input before touching
`dest'. Example:
char buf[256];
...
canonicalize_filename(buf, "~/../s22/..\\t3st///hi.c",
sizeof(buf));
/* Running this under Unix would
return: /home/t3st/hi.c */
Note that this function won't work as expected if the path to canonicalize
comes from another platform (eg. a "c:\something" path will canonicalize
into something really wrong under Unix: "/current/path/c:/something").
Returns a copy of the `dest' parameter.
Related Projects
The following projects include source code containing this keyword: