On Thu, 14 Apr 2011 23:32:16 +0200, VN wrote: > The current algorithm for grouping is in filedata.c > > - function file_data_set_path() decides, which part of the path is the > basename and which is the extension (but I think that some other parts of > code > expects strrchr(), this should be checked) > - function file_data_check_sidecars() groups the files and decides which is > the main file and which are sidecars > - function filelist_read_real reads a directory and groups the files (through > file_data_new_local() and file_data_check_sidecars()) > - there is another code path for individually opened files (from commandline, > drag&drop, etc.) - file_data_check_sidecars() calls > check_case_insensitive_ext(). This code path is a problem for longer > extensions and should be probably rewritten to use readdir too. > > > Ideas for improvements or rewrite of the algorithm are welcome.
Anything that will resolve the remaining issues with file grouping would be great. check_case_insensitive_ext() causes breakage anyway: http://sourceforge.net/tracker/?func=detail&aid=3201373&group_id=222125&atid=1054682 And the hard to reproduce http://sourceforge.net/tracker/?func=detail&aid=3115437&group_id=222125&atid=1054680 [ filedata.c:693:file_data_unref_debug: assertion failed: (fd->magick == 0x12345678) ] is likely related to file grouping, too, as a recent bug reporter has mentioned using JPG+CR2 files. I probably will read through more of the code, such as view_file_list.c and vflist_setup_iter_recursive() where it crashes upon refreshing the file list tree view, but proof-reading activity like that isn't easy (especially not if the crash may only be a side-effect of something having gone wrong elsewhere). I'd favour a single readdir for getting the current list of files, and then do only in-memory processing of that list with whatever techniques may be helpful to find file groups (e.g. basename dictionary). ------------------------------------------------------------------------------ Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev _______________________________________________ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel