canonicalize_filename (3) - Linux Man Pages
canonicalize_filename: Converts any filename into its canonical form. Allegro game programming library.
NAMEcanonicalize_filename - Converts any filename into its canonical form. Allegro game programming library.
DESCRIPTIONConverts 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; ... 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").