nlitsme/extfstools

Symlinks are not exported

sudopk opened this issue · 1 comments

Thanks for the great tool.

E.g. if I run:
mkdir outdir
ext2rd <my_ext4.img> ./:outdir

Symlink (valid or broken) are not exported. I would expect symlinks (whether valid or broken) to be exported.

Seems like export ignores the symlinks. Only directories and regular files are processed.
In ext2rd.cpp, near line 1063:

    recursedirs(fs, ino, ".", [&](const DirectoryEntry& e, const std::string& path) {
        if (e.filetype==EXT4_FT_DIR) {
            if (-1==mkdir((savepath+"/"+path+"/"+e.name).c_str(), 0777)) {
                perror("mkdir(savepath)");
            }
        }
        else if (e.filetype==EXT4_FT_REG_FILE) {
            exportinode byino(e.inode, savepath+"/"+path+"/"+e.name);
            byino.perform(fs);
        }
    });

thanks, merged your PR