assignments for strings longer than 2 chars
- Use strlcpy concatenation instead of strlcat
- Make sure that what remains of iteration of the '_len' variable
for manual char assignment
is done in a safer way so mistakes are less possible
usage of strlcpy (when position/offset of previous strlcpy/snprintf call
is known. strlcat implementation in libretro-common makes implicit strlen
call, using strlcpy avoids this
* Reduce a bunch of local char variables by use of said clever usage,
should save up on local stack size usage
This reduces the amount of memory Retroarch needs to extract a ROM file.
It will only need the size of the ROM plus 128KiB to extract the file
from the ZIP. Previously it needed as much as twice that amount if the
compression ratio was not great. This is useful on memory constrained
platforms and has no impact on platforms with plenty of memory.
Handles all cases correctly (with and without MMAP, for cores that
require fullpath or not, small and big ZIP files).
Avoids the internal strlen call inside strdup, and strdup is a deprecated
function starting from MSVC2005 anyways.
NOTE: Do NOT pass STRLEN_CONST as n parameter to strldup, it needs to
be at least +1 character higher than the strlen return value of the same
string
as deprecated.
* Use fill_pathname_join_special in the vast majority of cases where
we can ensure out_path is a new empty string
* Get rid of some extension concatenation with strlcat where encountered
* Some general cleanups with NULL termination of strings that get immediately
passed to strlcpy/strlcpy-adjacent functions
(libretro-common) docs - document when string has to be non-NULL or else UB (undefined behavior)
(libretro-common) stdstring.c - string_hex_to_unsigned - make strlen call unneeded
* (joypad_connection) Small optimizations -
* Turn functions static where possible
* Hose strlen call out of loop
* (input_driver.c) General cleanups:
* Some small code/style nits
task_screenshot.c:
* Move widget callback function for screenshots to task_screenshot.c
(file_path.c):
* Turn get_pathname_num_slashes into static function
* path_linked_list_free - always returns true, so get rid of return value
* path_linked_list_new - fix function signature
* path_get_archive_delim - do not NULL-terminate string, already done by strlcpy later on
General:
* Slight optimizations - use int/size_t for loop counter variable instead of unsigned
* Take advantage of fact that strlcpy already NULL-terminates, so don't do this explicitly
outside if we're just going to end up calling strlcpy/fill_pathname_join on it anyway
When a shader preset is loaded now when there are more than one #reference line the parameter values will be loaded from the references after the first one
Multi reference settings working
Config fixes
Multi-Reference Loading Working, Checking for shader chain not working
Checking References is working
Improved path_linked_list_add_path
Simplify path list stuff
Fixed Static Definition
Fixes
Fixes
Fix to Trigger PR Update
Removed Legacy Orbis which got left in a merge
Memory Leak Fix
* Added newlib changes
* Add action to launch PPSSPP simulator
* Remove legacy config for the stack and heap
* Add pthread
* Simplify kernel_functions and improve references to HAVE_KERNEL_PRX
* Add some flags
* Improve audio init/deinit
* Improve exit by clicking home
* Add CI for PSP1
* Update PSP.yml
* Allow loading files from archive subdirectory
Common example is "games.7z#game1/version1.ext" current code assumes that
everything that is before last slash is part of filesystem directory which
is false in this case.
* Fix listing of archive subdirectories
Currently file_archive_get_file_list_cb returns 0 on skipped entries.
It's wrong as calling convention for it is "0 means to stop iterating".
So on first extensionless file or an explicitly listed directory
further listing has stopped
* make check for standard io by access rather than the just assuming based on path string
* add code to auto permissions so files can be accessed by non vfs cores
(no exfat or fat32 support yet)
* remove commit from macro because apparently it causes issues
Co-authored-by: Tunip3 <tunip3@users.noreply.github.com>
Partial update to work with shaders directly
More Edits
More changes
more shader fixes
More Fixes Compiling, reference load still wrong
Added Feedback & things are working
Logging Fixes
Log Fix
More Fixes
Added Feedback Logging
Fixes for file pathing in Linux
Fix GLCore and Crash in QT Saving
Code Cleanup
Removed Unused Function filepath.c
Code Cleanup