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

Reply via email to