| /* | 
 |  * canonicalize.c -- Return a malloc'd string containing the canonical | 
 |  * absolute name of the named file.  The last file name component need | 
 |  * not exist, and may be a symlink to a nonexistent file. | 
 |  * Copyright (C) 2009 STMicroelectronics | 
 |  * Author: Salvatore Cro <salvatore.cro@st.com> | 
 |  * | 
 |  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. | 
 |  */ | 
 |  | 
 | #include <stdlib.h> | 
 | #include <limits.h> | 
 |  | 
 | #ifdef __USE_GNU | 
 |  | 
 | #ifndef PATH_MAX | 
 | # ifdef _POSIX_VERSION | 
 | #  define PATH_MAX _POSIX_PATH_MAX | 
 | # else | 
 | #  ifdef MAXPATHLEN | 
 | #   define PATH_MAX MAXPATHLEN | 
 | #  else | 
 | #   define PATH_MAX 1024 | 
 | #  endif | 
 | # endif | 
 | #endif | 
 |  | 
 | char * canonicalize_file_name (const char *name) | 
 | { | 
 | 	char *buf = (char *) malloc(PATH_MAX); | 
 |  | 
 | 	if(unlikely(buf == NULL)) | 
 | 		return NULL; | 
 |  | 
 | 	*buf='\0'; | 
 | 	return realpath (name, buf); | 
 | } | 
 | #endif |