make_relative_filename(3alleg)

make_relative_filename3alleg

Tries to make a relative filename from absolute path and filename. allegro game programming library.

Usage

#include <allegro.h>

char *make_relative_filename(char *dest, const char *path, const char *filename, int size);

Overview

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 */

Return value

Returns a copy of the `dest' parameter if it succeeds or NULL if it fails (eg. under DOS, one path starts with "C:\" and another with "A:\").

Releases

4 releases since Debian 3.1 (Sarge); the text changed 2 times.

  1. 3.1
  2. 4.0
  3. 5.0–6.0

From liballegro-doc 2:4.2.2-2.2 in Debian 6.0 (Squeeze). Parsed by carta from the page's man source.