From b196e15bed87dced2375a44c6593c7e0c0f7cd06 Mon Sep 17 00:00:00 2001 From: Chidambar Zinnoury Date: Sun, 5 Aug 2012 08:55:59 +0000 Subject: [PATCH] e fm prop: follow relative symbolic links before tagging them broken. SVN revision: 74881 --- src/bin/e_fm/e_fm_ipc.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bin/e_fm/e_fm_ipc.c b/src/bin/e_fm/e_fm_ipc.c index b553d02ed..1aaabb654 100644 --- a/src/bin/e_fm/e_fm_ipc.c +++ b/src/bin/e_fm/e_fm_ipc.c @@ -1092,7 +1092,15 @@ _e_fm_ipc_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing if ((path[0] == 0) || (lnk)) broken_lnk = 1; else return; } - if ((lnk) && (lnk[0] != '/')) rlnk = ecore_file_realpath(path); + if ((lnk) && (lnk[0] != '/')) + { + rlnk = ecore_file_realpath(path); + if ((rlnk == NULL) || (rlnk[0] == 0) || + (stat(rlnk, &st) == -1)) + broken_lnk = 1; + else + broken_lnk = 0; + } else if (lnk) rlnk = strdup(lnk); if (!lnk) lnk = strdup("");