.\" Generated by the Allegro makedoc utility .TH canonicalize_filename 3alleg4 "version 4.4.3" "Allegro" "Allegro manual" .SH NAME canonicalize_filename \- Converts any filename into its canonical form. Allegro game programming library.\& .SH SYNOPSIS .B #include .sp .B char *canonicalize_filename(char *dest, const char *filename, int size); .SH 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: .nf char buf[256]; ... canonicalize_filename(buf, "~/../s22/..\\\\t3st///hi.c", sizeof(buf)); /* Running this under Unix would return: /home/t3st/hi.c */ .fi 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"). .SH "RETURN VALUE" Returns a copy of the `dest' parameter. .SH SEE ALSO .BR fix_filename_case (3alleg4), .BR fix_filename_slashes (3alleg4)