"Fossies" - the Fresh Open Source Software Archive

Member "file-5.35/TODO" (4 Nov 2017, 2065 Bytes) of package /linux/misc/file-5.35.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "TODO": 5.32_vs_5.33.

    1 Most TODOs live in the TODO section of doc/file.man (i.e. file(1)).
    2 They are more visible there, so please add any further TODOs to that
    3 file, not here. More speculative material can live here.
    4 
    5 (This change was made when Reuben Thomas noticed that all the bugs
    6 listed in the BUGS section of the man page had been fixed!)
    7 
    8 ---
    9 It would be nice to simplify file considerably. For example,
   10 reimplement the apprentice and non-pattern magic methods in Python,
   11 and compile the magic patterns to a giant regex (or something similar;
   12 maybe using Ragel (http://www.complang.org/ragel/)) so that only a
   13 small amount of C is needed (because fast execution is typically only
   14 required for soft magic, not the more detailed information given by
   15 hard-wired routines). In this regard, note that hplip, which is
   16 BSD-licensed, has a magic reimplementation in Python.
   17 ---
   18 Read the kerberos magic entry for more ideas.
   19 ---
   20 Write a string merger to make magic entry sizes dynamic.
   21 Strings will be converted to offsets from the string table.
   22 ---
   23 Programming language support, we can introduce the concept of a group
   24 of rules where n rules need to match before the rule is positive. This
   25 could require structural changes to the matching code :-(
   26 
   27 0	group	2	# require 2 matches
   28 # rule 1
   29 >0	....
   30 ...
   31 # rule 2
   32 >0	....
   33 ...
   34 ---
   35 - Merge the stat code dance in one place and keep it in one place
   36   (perhaps struct buffer).
   37 - Enable seeking around if offset > nbytes if possible (the fd
   38   is seekable).
   39 - We could use file_pipe2file more (for EOF offsets, CDF documents),
   40   but that is expensive; perhaps we should provide a way to disable it
   41 - The implementation of struct buffer needs re-thinking and more work.
   42   For example we don't always pass the fd in the child. This is not
   43   important yet as we don't have yet cases where use/indirect magic
   44   needs negative offsets.
   45 - Really the whole thing just needs here's an (offset, buffer, size)
   46   you have (filebuffer, filebuffersize &&|| fd), fill the buffer with
   47   data from offset. The buffer API should be changed to just do that.
   48 
   49 christos