Changed DFM from open-at-first-access to explicit-open. Before,
calling dfm_get_record() or dfm_put_record() would automatically
open the file. Now, you have to call dfm_open_for_reading() or
dfm_open_for_writing() explicitly. This makes it possible to
check permissions, file existence, etc. earlier.
Also made struct file_handle more opaque, and clean up in general.
Fixed cmd_parse() so that it always skips past a full command
name. A few special commands for which this would be bad get
special treatment. This lets us drop code for skipping past the
end of a command name in most cmd_*() functions. It's not worth
listing all the commands affected.
Start work on better test framework.
Fix memory leaks.
Misc other changes.
70 files changed: