From 638afceae272376de689f5023a046060e06c8104 Mon Sep 17 00:00:00 2001 From: doursse Date: Fri, 9 May 2008 23:16:42 +0000 Subject: [PATCH] * src/lib/dlfcn/dlfcn.c: (dladdr): replace all the '\' by '/' in the filename found by dladdr SVN revision: 34518 --- legacy/evil/ChangeLog | 7 ++++++- legacy/evil/src/lib/dlfcn/dlfcn.c | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/legacy/evil/ChangeLog b/legacy/evil/ChangeLog index b7436f67a4..1d1faf6d06 100644 --- a/legacy/evil/ChangeLog +++ b/legacy/evil/ChangeLog @@ -1,8 +1,13 @@ +2008-05-10 Vincent Torri + + * src/lib/dlfcn/dlfcn.c: (dladdr): + replace all the '\' by '/' in the filename found by dladdr + 2008-04-28 Vincent Torri * src/lib/Evil.h: * src/lib/evil.c: (evil_getcwd): - add getgwd-like function + add getcwd-like function * src/lib/dlfcn/dlfcn.c: (dladdr): * src/lib/dlfcn/dlfcn.h: diff --git a/legacy/evil/src/lib/dlfcn/dlfcn.c b/legacy/evil/src/lib/dlfcn/dlfcn.c index 9a0d3e6ba7..5f9183b8ae 100644 --- a/legacy/evil/src/lib/dlfcn/dlfcn.c +++ b/legacy/evil/src/lib/dlfcn/dlfcn.c @@ -161,6 +161,7 @@ dladdr (void *addr __UNUSED__, Dl_info *info) { TCHAR tpath[PATH_MAX]; char *path; + char *tmp; int length; int ret = 0; @@ -184,6 +185,14 @@ dladdr (void *addr __UNUSED__, Dl_info *info) path[PATH_MAX - 1] = '\0'; } + /* replace '\' by '/' */ + tmp = path; + while (*tmp) + { + if (*tmp == '\\') *tmp = '/'; + tmp++; + } + memcpy (info->dli_fname, path, length + 1); info->dli_fbase = NULL; info->dli_sname = NULL;