Commit Graph

911 Commits

Author SHA1 Message Date
libretroadmin fe1297cc33 (file_path.c) Cut down on some strlcats 2023-07-17 10:09:34 +02:00
libretroadmin aeff636a0f Minor cleanups to config_file.c 2023-07-17 09:45:52 +02:00
libretroadmin eb01ce0c09 Simplify archive_file 2023-07-16 19:55:58 +02:00
libretroadmin 4b6bd83780 Replace some more strlcat calls 2023-07-16 18:33:34 +02:00
libretroadmin bdc398d79f - Safer code - use strlcpy where possible instead of manual character
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
2023-06-20 16:33:55 +02:00
libretroadmin edecf0cb2d Replace more strlcat calls with strlcpy 2023-06-18 19:25:24 +02:00
libretroadmin 631301b3f7 * Cut down on strlcat calls when possible and replace them with clever
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
2023-06-18 12:06:12 +02:00
Grisly Glee 4202f8650d
Fix trivial signedness warnings (#15377)
* Fix trivial signedness warnings

* Followup on trivial signedness warnings
2023-06-14 04:43:11 +02:00
libretroadmin 207dfe170c Small cleanups 2023-05-03 21:10:21 +02:00
libretroadmin b951a010fd Move strftime_am_pm to libretro-common and get rid of duplicated
function
2023-05-01 19:03:11 +02:00
libretroadmin 1db2f20665 Clean warnings 2023-04-28 02:11:52 +02:00
David G. F 5fec32649f
Fix bug introduced in f13cf9 regarding non-compressed ZIPs (#15230)
This happens on platforms with HAVE_MMAP (Linux/Mac) and with ZIPs that
contain uncompressed files.
2023-04-26 21:56:51 +02:00
David G. F f13cf92341
Improve ZIP decompression (#15220)
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).
2023-04-25 13:17:18 +02:00
libretroadmin 27ad653dbd Fixed another CXX_BUILD error 2023-02-23 17:11:26 +01:00
libretroadmin 4fa19e552a CXX_BUILD buildfixes 2023-02-23 17:09:45 +01:00
libretroadmin d55d1a8863 Fix typo 2023-02-22 14:54:53 +01:00
libretroadmin 51894c3cbb (Config file/libretro-common) config_file_extract_value - don't make
it dependent on strldup which pulls in another dependency/source file -
instead just unroll strldup for this specific one-time instance
2023-02-21 16:37:30 +01:00
libretroadmin daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
LibretroAdmin 3abd414656 Backport ebe5f2cc3d -
Remove config_file_exists, replace with path_is_valid
2022-09-03 06:35:41 +02:00
LibretroAdmin 575e331fd1 If we already know the length of the string, use strldup instead.
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
2022-08-25 16:31:54 +02:00
LibretroAdmin da13fb0f48 Don't include errno.h in files that don't justify its use 2022-08-25 05:19:30 +02:00
LibretroAdmin c7786a45e1 Create path_get_extension_mutable and use it in menu_explore function
for trivial extension replacement in string
2022-08-06 19:06:31 +02:00
LibretroAdmin 2e5df6a973 fill_str_dated_filename: add size_t return value 2022-08-04 17:18:32 +02:00
LibretroAdmin 0c21a92581 * fill_pathname_expand_special will NULL-terminate string so not
necessary to NULL terminate passed string
* fill_pathname - add size_t return value
* Some general cleanups
2022-08-04 17:10:51 +02:00
LibretroAdmin 9ae46d2648 (file_path.c)
- file_path_expand_special - cut down on code duplication
- file_path_expand_special - add size_t return value
- fill_pathname_abbreviate_special - add size_t return value
2022-08-04 16:53:53 +02:00
LibretroAdmin 5172fe2ba6 fill_pathname_abbreviated_or_relative - add return value 2022-08-04 16:44:01 +02:00
LibretroAdmin b2634ea588 * Create fill_pathname_join_special - and specify fill_pathname_join
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
2022-08-04 14:19:38 +02:00
LibretroAdmin e7f3432e48 Replace some trivial strlcat usage - use return value of preceding
strlcpy then simply append the extension to it at this location
2022-08-04 03:45:09 +02:00
LibretroAdmin f4c22cb236 (file_path.c) fill_pathname_join - do away with one less strlcat 2022-08-03 23:54:10 +02:00
LibretroAdmin 605c4608d9 Optimize fill_pathname_join - avoid the call to fill_pathname_slash()
which would have an implicit strlen cost
2022-08-01 22:14:26 +02:00
LibretroAdmin 107c69ab9e (libretro-common) More documentation refinement 2022-08-01 11:03:58 +02:00
LibretroAdmin c7a1d83675 (libretro-common) Start documenting leaf functon calls in function documentation
(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
2022-08-01 09:52:39 +02:00
LibretroAdmin fca6015011 (file_path) path_basedir - remove unnecessary strlcpy - add return value comment
to another function
2022-07-31 12:45:14 +02:00
LibretroAdmin 88bdaffa87 path_basedir_wrapper - get rid of unnecessary strlcpy 2022-07-31 12:42:50 +02:00
LibretroAdmin 36edb15c5b path_parent_dir - don't do implicit strlen inside 2022-07-31 12:31:55 +02:00
libretroadmin a6a4b845a4 Some string simplifications - don't NULL terminate if we pass
string to strlcpy and/or a file_path function using strlcpy under
the hood - don't do strlcpy for trivial setting of 2/3 char strings
2022-07-25 04:39:08 +02:00
libretroadmin 05622ebe85 Some trivial strlen usage simplifications where possible, removing
the need for strlen
2022-07-20 17:23:28 +02:00
libretroadmin ba35f0de93 (file_path.c) Do away with trivial strlen checks (checked if
return number was <= 2/>= 2, instead check first two characters
of the string directly instead for NULL
2022-07-19 23:23:37 +02:00
libretroadmin f994c0b371 Get rid of superfluous wrapper function config_entry_exists 2022-07-19 21:00:40 +02:00
libretroadmin 4b5c7856e6 Remove some more explicit NULL-termination when we're calling a
string function that calls strlcpy under the hood
2022-07-19 20:43:12 +02:00
LibretroAdmin 29774f5b7a
Small opts (#14186)
* (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
2022-07-19 10:01:33 +02:00
libretroadmin 01d68fdb7e Remove unused fill_pathname_basedir_noext 2022-07-12 00:09:22 +02:00
libretroadmin 293722ac38 Get rid of fill_pathname_join_concat_ext 2022-07-11 22:01:20 +02:00
libretroadmin b7926605f4 Remove fill_short_pathname_representation 2022-07-11 21:40:09 +02:00
libretroadmin b1c9f93903 (file_path) remove deprecated functions 2022-07-11 21:29:01 +02:00
libretroadmin adf9994828 Deprecate fill_pathname_base_noext 2022-07-11 20:13:44 +02:00
libretroadmin 7186d75c44 Designate fill_pathname_noext as deprecated function 2022-07-11 20:03:42 +02:00
libretroadmin d706c9c5bf Start deprecating trivial functions in file_path.c 2022-07-11 19:56:46 +02:00
libretroadmin 0d4ef1cef4 (file_path.c) Call trivial strlcpy/strlcat operations directly
instead of going through functions
2022-07-11 17:23:06 +02:00
libretroadmin 6438d575d4 (file_path.c) Simplifications 2022-07-11 17:14:09 +02:00
libretroadmin 61ba6d06cc (config_file.c) Cleanups - config_file_extract_value - only
one of three instances used the 'use_value' parameter, so take it
out of the function
2022-07-11 12:58:03 +02:00
libretroadmin 0e85113eb3 (libretro-common) Style nits/cleanups 2022-07-10 18:13:49 +02:00
LibretroAdmin 0008691aa0
Remove unused variables (#14065) 2022-06-18 19:28:07 +02:00
HyperspaceMadness 8d177ed865 Shader Load Extra Parameter Reference Files
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
2022-06-04 20:12:21 -04:00
LibretroAdmin 6ba8fe225d
Revert "Shader Preset Loading of Multiple additional #references lines for settings" 2022-05-30 02:39:25 +02:00
Remi McGill 684889507b Shader Loading of Multiple References for settings
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
2022-05-24 14:07:55 -04:00
Francisco Javier Trujillo Mata 6366fcf8e3 [ORBIS] Remove legacy implementation and compile with Werror 2022-05-21 17:10:35 +02:00
OsirizX c6d51fdb32 [ORBIS] Initial changes for PS4 2022-05-21 16:31:10 +02:00
jdgleaver 2feca8994d Revert "(config_file) Prevent hash map corruption when calling config_unset()"
This reverts commit e5df8f7850.
2022-03-21 15:08:02 +01:00
jdgleaver 28247ba65d (config_file) Prevent hash map corruption when calling config_unset()
- This is a workaround for the broken 'RHMAP_DEL_STR()' implementation in rhmap.h
- This commit should be reverted when rhmap.h is fixed
2022-03-21 15:08:02 +01:00
Francisco Javier Trujillo Mata 86b47b4859
[PSP] Update Retroarch to latest PSPDev status (#13544)
* 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
2022-01-25 03:50:18 +01:00
Vladimir Serbinenko 2f130a23e4
Allow loading files from archive subdirectory (#13443)
* 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
2022-01-11 13:59:38 +01:00
Manuel Alfayate Corchete e5215d9e29
Fix incorrect file names for remap files when the content path doesn't have a preceding slash. (#13385) 2021-12-20 23:24:19 +01:00
tunip3 6c123dd078
Mitigate need for vfs cores on ntfs drives [UWP/XBOX] (#13368)
* 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>
2021-12-17 13:46:04 +01:00
twinaphex 619398bbe4 Backport parts of 73c0760236 2021-11-09 23:12:57 +01:00
twinaphex b375e08c67 (libretro-common) fill_pathname_abbreviated_or_relative - fix warning -
variable is uninitialized
2021-08-11 18:50:03 +02:00
twinaphex 9700a009c5 (7zip) Use normal stdint.h types that don't conflict with PowerPC
Mac's OSTypes.h
2021-08-07 01:43:08 +02:00
Ash Logan e43f07b85b wiiu: Add fastpath for already aligned buffers 2021-07-18 22:33:26 +10:00
Autechre 375eb4b852
Merge pull request #12459 from toshixm/fix_12103
Fix garbled path string
2021-07-08 12:05:07 +02:00
jdgleaver eafeb83d0b Fix archive delimiter detection when file path contains no slashes 2021-06-28 10:40:37 +01:00
jdgleaver b5df2b883a Fix loading of archived content with file names containing '#' characters 2021-06-03 16:40:13 +01:00
toshixm 1218aebfbf static allocation instead of malloc() 2021-06-03 15:26:33 +09:00
toshixm 935c7d0e2c use _wfullpath() instead of _fullpath() 2021-05-30 09:17:06 +09:00
jdgleaver 334a43a7c5 Prevent unnecessary extraction (to disk) of compressed content files + task_content.c clean-ups 2021-05-20 17:08:51 +01:00
jdgleaver 02630d998e Fix config file appending and 'including' 2021-04-29 12:29:47 +01:00
jdgleaver b1a7d3e995 (config_file) Modify hash map usage for proper compatibility with updated RHMAP implementation 2021-04-28 17:34:24 +01:00
jdgleaver a501dfd680 Update 7-Zip dependency to latest stable version (fixes CHD support on static platforms) 2021-04-28 12:00:50 +01:00
jdgleaver 29d5963cad (config_file) Use hash map to optimise key/value lookups 2021-04-21 17:33:36 +01:00
twinaphex 1811bd6885 Fix issue in https://github.com/libretro/neocd_libretro/issues/58 2021-04-16 19:34:06 +02:00
twinaphex 637cff628f * Simplify RARCH_CTL_IS_CORE_LOADED
* Create specialized function path_basename_nocompression
2021-04-11 17:27:31 +02:00
twinaphex 5aaf4150e2 (file_path.c) Use strlcpy for these instead of snprintf 2021-03-24 17:26:34 +01:00
unknown 1288a35841 Add some PSL1GHT ifdefs 2021-03-07 09:28:59 +01:00
twinaphex c43b0f53bf (file_path) Get rid of all the platform-specific headers 2021-02-21 18:50:17 +01:00
Autechre dbe1061742
Refactors (#12057)
* lock_file_path here will never be empty

* Simplify path_mkdir - final return value can become false, and sret
variable can go
2021-02-21 11:09:11 +01:00
twinaphex 552f973833 Cleanups/remove unused variables 2021-01-16 17:17:16 +01:00
Autechre 9797ba9f27
Merge pull request #11743 from HyperspaceMadness/Shaders_Fix_Simple_Preset_Relative_Texture_Paths
Shaders Load Refactor and Fix Referenced Texture Loading
2020-12-31 16:13:20 +01:00
twinaphex c4dc28319f Remove obsolete headers 2020-12-30 00:22:31 +01:00
twinaphex c9888eb442 (config_file.c) This can go 2020-12-29 06:32:43 +01:00
twinaphex b1af12efc9 Add more PSL1GHT ifdefs 2020-12-27 18:56:00 +01:00
HyperspaceMadness 0c526b6498 Shaders Load Refactor and Fix Referenced Texture Loading
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
2020-12-26 21:09:27 -05:00
twinaphex 870707dbe8 Remove obsolete __CELLOS_LV2__ references - use PSL1GHT instead 2020-12-19 15:32:26 +01:00
HyperspaceMadness 5008ac6eb0
Merge branch 'master' into Shader_Save_Load 2020-11-10 17:05:23 -05:00
jdgleaver 317ad3181d (config_file) Enable saving of changed parameters when '#include' directives are used 2020-11-09 11:18:49 +00:00
HyperspaceMadness f6e35420bc Simple Shader Save Cleanup 2020-11-02 21:07:20 -05:00
HyperspaceMadness 70bf90c5d8 Shader_Preset_Simple_Save_Cleaned_2020_11_01 2020-11-01 09:18:40 -05:00
jdgleaver 3c06a907ca Fix directory creation on GEKKO platforms when path contains a trailing slash 2020-10-05 10:59:55 +01:00
twinaphex c744baeb89 Add ctype variants to stdstring and use it in RA 2020-09-27 22:15:32 +02:00
jdgleaver 3d4ddebcaf Add several LCD-effect video filters 2020-09-24 16:11:07 +01:00
twinaphex 0e49f058f3 Use strcpy_literal in more places 2020-09-19 23:59:06 +02:00
jdgleaver 5a0dc5524d Fix string_list memory leaks 2020-09-08 14:58:49 +01:00