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.
Stop loading themes missing smdh files - this was causing scroll crashes due to how the icon loading code was working. In the future we will include a message about how themes are skipped due to lacking smdh files. Invalid zips also caused the same issue and are also now being properly ignored
Fix memory leak in the zip file loading code