Since torrents' info is fetched asynchronously, it may not yet be
available when inspector updates. Account for possibly undefined
creator.
Refine logic used to construct torrent origin phrase to prevent
results such as "Created by on <date>" or "Created by <creator>
on ".
I'm not that good in Mac programming it seems as I can't figure out why
doesn't the memory being allocated by frequent NSNewBitmapBackingStore
(system internal) calls being freed even if I wrap the code into
@autoreleasepool explicitly. Disabling animations does slow it down but
not stop. This commit is certainly a dirty fix but it seems to work in
my case and I hope it helps a few other people while we wait for a
proper solution.
Seems like there could be a defect in uClibc making errno not
thread-local. Don't rely on errno value but check function return value
instead which is a better failure indicator.
Return errors from `tr_loadFile` and `tr_variantFromFile` via tr_error.
Fix `tr_sessionLoadSettings` to not fail on Windows if settings.json
does not exist.
Use %USERPROFILE% instead of %USERPROFILE%\Documents as home directory.
Don't roam configuration directory (I don't think we want that).
Use known Downloads folder (instead of %HOME%\Downloads) if set.
When searching for web interface files, let local user application data
directory override roaming one, and roaming one override common one.
Use Vista+ API (SHGetKnownFolderPath) to get known folder paths.
Factor out demonization implementation to platform-specific files.
Implement daemonization on Windows using service API. Improve *NIX
implementation by handling signals asynchronously to prevent potential
issues of running complex code inside the handler.
Test socket validity by comparing to TR_BAD_SOCKET instead of various
(and sometimes wrong) other tests like `x >= 0`, `x != -1`, `x > 0`,
`x > -1`, `x` (valid), and `x < 0`, `x == -1` (invalid).
It was announced on March 5th that CyaSSL changes name to WolfSSL,
and version 3.4.0 has been released under that new name. Tune
FindCyaSSL.cmake a bit to probe for both libraries. Fortunately,
compatibility headers are provided so I didn't have to touch the
code at all for now.
There're too many functions and types to consider, and benefits of not
using LFS macros aren't that big (I was thinking of using fts(3) but
that may not happen soon or at all).