diff options
author | Jim Kukunas <james.t.kukunas@linux.intel.com> | 2016-01-23 23:32:49 -0800 |
---|---|---|
committer | Cyrill Gorcunov <gorcunov@gmail.com> | 2016-01-24 14:12:56 +0300 |
commit | c9b3b8af41210528b449e94623ddf4a3bae3c2f2 (patch) | |
tree | 74fa1e9f4c98f820d2a98bdd938d48d74c7a6917 | |
parent | 7faf605ca5e42ecdbc2e1921fa269abccb63feb4 (diff) | |
download | nasm-c9b3b8af41210528b449e94623ddf4a3bae3c2f2.tar.gz |
nasmlib: Add nasm_realpath()
Converts a relative pathname to an absolute pathname.
Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-rw-r--r-- | nasmlib.c | 12 | ||||
-rw-r--r-- | nasmlib.h | 7 |
2 files changed, 19 insertions, 0 deletions
@@ -696,6 +696,18 @@ char *nasm_opt_val(char *p, char **val, char **next) return p; } +#ifdef _WIN32 +char *nasm_realpath(const char *rel_path) +{ + return _fullpath(NULL, rel_path, 0); +} +#else +char *nasm_realpath(const char *rel_path) +{ + return realpath(rel_path, NULL); +} +#endif + /* * initialized data bytes length from opcode */ @@ -400,6 +400,13 @@ char *nasm_trim_spaces(char *p); char *nasm_get_word(char *p, char **tail); char *nasm_opt_val(char *p, char **opt, char **val); +/* + * Converts a relative pathname rel_path into an absolute path name. + * + * The buffer returned must be freed by the caller + */ +char *nasm_realpath(const char *rel_path); + const char *prefix_name(int); #define ZERO_BUF_SIZE 4096 |