make_relative_filename(3) - Linux man page
Name
make_relative_filename - Tries to make a relative filename from absolute path and filename. Allegro game programming library.Synopsis
#include <allegro.h>char *make_relative_filename(char *dest, const char *path, const char *filename, int size);
Description
Attempts to make a relative filename from an absolute path and an absolute filename, storing at most 'size' bytes into the 'dest' buffer. This function won't work if the paths are not canonical under the current platform (see canonicalize_filename()). Also, 'dest' cannot be used as input value for 'path' or 'filename'. Example:char base[] = "/long/absolute/path/program.exe"; char user_input[] = "/nice/and/short.txt"; ... make_relative_filename(buf, base, user_input, sizeof(buf)); /* Under Unix buf would contain: ../../../nice/and/short.txt */
