Properly handling symlinks requires using resolved paths. I'm not sure if returning strings instead of file_t structs is the best solution, but it seemed like the least drastic one as we prepare for 4.1 and we weren't using the extra information anyway. Andrew Gregory (5): use alpm_list_free on filelist intersection add fileconflict tests for cases with symlinks return resolved paths from filelist_intersection return resolved paths from filelist_difference use resolved_path for filelist_contains lib/libalpm/alpm.h | 2 +- lib/libalpm/conflict.c | 47 +++++++++++++++++------------------- lib/libalpm/filelist.c | 18 ++++++-------- lib/libalpm/remove.c | 3 +++ test/pacman/tests/fileconflict022.py | 19 +++++++++++++++ test/pacman/tests/fileconflict023.py | 18 ++++++++++++++ test/pacman/tests/fileconflict024.py | 17 +++++++++++++ test/pacman/tests/fileconflict025.py | 18 ++++++++++++++ 8 files changed, 106 insertions(+), 36 deletions(-) create mode 100644 test/pacman/tests/fileconflict022.py create mode 100644 test/pacman/tests/fileconflict023.py create mode 100644 test/pacman/tests/fileconflict024.py create mode 100644 test/pacman/tests/fileconflict025.py -- 1.8.1.3