- centralized stop function
- freeing the struct not from the thread while waiting on handle in it
- thread not detached
- maybe fixes hang on exit from HM in ndsp status check loop
on exit:
- bad timing when the install checks threads run, could crash
- quitting through HOME when a bgm was previewed in the browser
on http get failure:
- the quit flag would be enabled, but the browser wouldn't honour it
icon and name get extracted from the dlc data
requires libctru from commit 5f13628dac75206f0c97d29a7427ce8284d910f1 or older (added the am commands necessary to find the dlc data)
Makefile changed to reflect the macro change in unreleased libctru
from anemone, when setting a N theme shuffle, then a single theme you could only set 10 - N official themes on shuffle afterwards (and even then, it would fail and reset the theme stuff, leaving you able to set however many official themes on shuffle you wanted)
this skips the failing step
* memory leak fix and attempt at optimizing space
* camera rework
try to use better locking algorithm (MRSW lock on wikipedia)
* add time print (toggleable) and stuff
remove old mixed qr thingss from main
* remove the dumb 3 bytes saving
* remove useless time measure code
* forgot to close the stop event handle
* fix memory leak when loading icon from smdh
* fix entry path on folders
optimization using memcpy cause it to have the "/info.smdh" when the entry is a folder. simply remove that with a memset to 0.
Co-authored-by: Alex Taber <astronautlevel2@users.noreply.github.com>
* Began refactoring http_get. Still a few cases to handle, but it works.
* Introduced error enum; handle error 406; handle a misbehaving server; redirect_url leaked memory (L888)
* Allowed calls to http_get to pass NULL as acceptable_mime_types
* Removed status_code from header struct; eventually planning to move most of parse_header's logic back to http_get, so this makes sense
* Moved some more logic back into http_get
Note: currently behaves weirdly with some QR codes, including but probably not limited to ones pointing to TinyURL.
* Handle redirects correctly; other rearrangements
* Formatting
* Handle HTTP 303 See Other correctly
* Removed "Download failed" error in camera.c due to all related failures being handled in http_get
* Fixed missing loading bar; started working on unchunked download
* Added unchunked download
* Reintroduced the download progress bar, rolled back to always doing chunked download
* URL length caps at 2083 chars
* Slightly more efficient
* Correctly handle incorrect filesize header
TODO: reorder clauses to remove the goto?
* Fixed illegal characters, removed unnecessary logic (technically a regression, as we always have to realloc now)
* Finally finished up status code handling. Fixed a memory leak when the server fails conneg.