This commit introduces the following, cosmetic changes:
- All callers of 'ldbGenericReplace' specify a non-nil 'deleteFn' argument.
Thus, remove the checks for 'deleteFn' being nil.
- Before this change, 'ldbInsert' took a 'FileInfo' argument and a
separate argument for the file name, but all callers passed in the
value of FileInfo.Name as the file name. Simplify this, by not not
passing in the file name as a separate argument. This makes the
function signature of 'ldbInsert' more similar to 'ldbUpdate'.
- doc fixes
When extracting a folder name from the byte slices used as database
keys, bytes.IndexByte() is used to find and remove trailing 0 bytes.
In case the folder name is 64 bytes long, bytes.IndexByte() returns
-1. Before this change, syncthing crashed in this case with an
out-of-bounds slice access.
The commit fixes the problem and also introduces a test case which
checks for the presence of the bug.
- Bug fix - use .Errorf() instead of .Error():
Before this change, an error message for failed tests in files/set_test.go
wrongly tried to use format strings in a call to .Error()
- Change event constants to be of type EventType rather than untyped integers.
- Slightly relax the locking for registry cache lookups:
For read access to Discover.registry we only need to take a read lock.
- Some cosmetic fixes.