Commit Graph

630 Commits

Author SHA1 Message Date
pstef 66aa1424f0 Define WIN32_LEAN_AND_MEAN to avoid collision with winsock2 2025-04-12 10:45:08 +00:00
pstef 83e974077f Guarantee space for string characters after strlcpy
to silence a couple of stringop-overflow warnings (3DS).
2025-03-28 11:11:09 +00:00
Eric Warmenhoven 86fddd5326 apple: fix strlcpy where src and dst are the same 2025-03-17 15:34:45 -04:00
sonninnos ee8a641275 Core load+unload fixes 2025-03-13 15:09:38 +02:00
LibretroAdmin 366612fb82 Revert "Fix some string appending"
This reverts commit 65b9ea4e76.
2025-02-11 23:48:12 +01:00
LibretroAdmin 65b9ea4e76 Fix some string appending 2025-02-11 23:08:55 +01:00
LibretroAdmin 6559f4499c Cleanups - less settings_t pointer passing 2025-02-11 09:38:54 +01:00
Eric Warmenhoven 5471a9ebfe
ios: jump back to selected item after closing content (#17534) 2025-02-08 20:32:41 +01:00
LibretroAdmin dda78a4fc8 Use find_last_slash where possible 2025-01-17 13:26:17 +01:00
LibretroAdmin e2c8e98be0 Buildfixes and warning fixes 2025-01-17 12:03:30 +01:00
LibretroAdmin 31b7812720 Function argument name standardization 2025-01-17 04:16:12 +01:00
LibretroAdmin e982905eb4 content_get_subsystem_friendly_name - change function signature return
to size_t
2025-01-17 00:55:30 +01:00
LibretroAdmin a5c9d9520f * Use fill_pathname_basedir where possible
* Move static variable to only function where it's used
* Change signature of file_path.c function
2025-01-15 22:17:59 +01:00
LibretroAdmin bd413de842 Log messages are too small to hold entire path 2025-01-13 16:01:16 +01:00
LibretroAdmin e40f405b97 Play it on the safe side - go back to some of the code
from before
2025-01-07 02:47:37 +01:00
LibretroAdmin 18c85b5ccd Cleanups -
* Less string copies
* Some general cleanups
* Add extra param to runloop_message_queue_push so we can pass size_t
of the message
* Consistent conventions for local variable usage for certain things
2024-12-27 15:13:45 +01:00
LibretroAdmin ed58e4a8d8 Conventionalize len variables:
* In function arguments, use 'size_t len'
* Inside the function, use '_len'
* If you need a seciondary len variable inside the function, use '__len'
2024-12-27 05:51:33 +01:00
LibretroAdmin 739f2ff55c
Reduce calls to path_remove_extension - use fill_pathname instead (#17270)
* Reduce calls to path_remove_extension - use fill_pathname instead

* More fill_pathname usage
2024-12-20 21:40:58 -08:00
libretroadmin 29f011acef * Inline find_last_slash
* explore_load_icons - fill_pathname_slash is equivalent to usage
of strlen here, no need to call strlen
2024-09-10 16:02:06 +02:00
libretroadmin 36bcbefc96 Cleanup some char variables - title variables will always be 128
in size
2024-09-10 00:15:23 +02:00
libretroadmin 13cf0fc79c Add more TODO/FIXME notes 2024-09-09 20:19:29 +02:00
libretroadmin e675ea7e29 Variable cleanups - add TODO/FIXME notes for spurious variable sizes 2024-09-09 15:22:08 +02:00
libretroadmin b8391e233f * PATH_MAX_LENGTH redefined from 4096 to 2048
* Massive reduction in heap space allocation, going from settings struct
264kb to 119Kb
* Use NAME_MAX_LENGTH for base paths/names, etc
* Use DIR_MAX_LENGTH for directory sizes
2024-09-09 05:47:32 +02:00
libretroadmin 99a763c4e8 Global - turn bools into flag 2024-09-05 10:05:57 +02:00
kwyxz fab86199a8
fixed warning + allow cli arguments on Haiku (#16887) 2024-08-17 09:58:49 -05:00
libretroadmin 850f1ff6f7 Put comment back 2024-06-16 16:56:19 +02:00
libretroadmin 4eb8b772ec (task_content.c) content_file_override_set - use strtok_r instead
of string_list
2024-06-16 16:54:57 +02:00
Eric Warmenhoven 7379d33801
tvOS Top Shelf (#16302)
This puts the History and Favorites playlists (up to five items each)
in the Top Shelf menu. In order for this to be enabled you must build
it yourself and change the app identifiers for the TV app and Top
Shelf extension, and add both of them to an app group.
2024-02-27 23:20:32 -08:00
Jesse Talavera-Greenberg cbf49a0b77
XDelta patch support (Take 2) (#15915)
* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* Add some enums that were excluded by the cherry-pick

* Remove stray whitespace

* Adjust SIZE macros in xdelta3.h

- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX

* Reintegrate xdelta support

* Enable support for xdelta's secondary compressors

- Necessary for some patches

* Fix some format specifiers

* Remove unnecessary files from xdelta

* Include xdelta3.h with a relative path

* Add xdelta3 headers to HEADERS variable

* Gate Xdelta support behind HAVE_XDELTA

- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found

* Disable HAVE_XDELTA on platforms where the build recently failed

- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong

* Fix a potential memory leak

- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream

* Split the --help printout for --xdelta into its own strlcat call

- GCC was complaining about #ifdefs within macro arguments being non-portable

* Fix some incorrect printf format specifiers

* Modify Xdelta to adhere to C89

- It's mostly using RetroArch's INLINE macro instead of the inline keyword

* Slight cleanups

* Remove a stray comma that was hindering C89 builds

* Add XDelta support to CHANGES.md

* Change how the xdelta patch's name is computed

- To be in line with other recent refactoring

* Fix an incorrect merge

- Whoops, this part was from before I figured out how to get the size of a patched file

* Explain the song-and-dance behind computing a patched file's size

* Define some XDelta3-related constants to 0 on 32-bit platforms

* Adjust some Xdelta-related macro definitions

- Exclude the encoder, since we're not making patches
- Move some #defines to after inclusion of <stdint.h>, to fix undefined behavior
- Remove _WIN32_WINNT overrides, since they were for code that we're not using

* Fix Xdelta support

* Wrap an encoder-only function in `#if XD3_ENCODER`
2023-11-23 20:19:07 -08:00
libretroadmin cd8fffe5d3 Rename all local variables for retro_system_info to sysinfo 2023-07-15 07:45:20 +02:00
libretroadmin cf0d0e93a6 rarch_system_info_t local vars should be renamed from 'system'
to 'sys_info' to avoid false positive code analysis errors
2023-07-15 07:22:38 +02:00
libretroadmin d514f1ded3 Avoid false positives with code analysis tools - rename
variables called 'system'
2023-07-05 03:29:49 +02:00
Bernhard Schelling 2c9bc8d850 Fix "variable set but not used" when HAVE_PATCH is not defined 2023-06-19 18:18:01 +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
libretroadmin 3871ac4455 * Add FIXME LOCALIZE notes
* Some snprintf optimizations
2023-04-30 17:26:57 +02:00
libretroadmin 61c986ddfa Buildfix 2023-01-22 21:44:39 +01:00
libretroadmin e798f99fea Several RARCH_CTL switches don't belong to retroarch state but
runloop state, hence remove
2023-01-22 20:16:14 +01:00
libretroadmin 378e90e745 retroarch.h functions should be namespaced 'retroarch_' instead
of 'rarch_'
2023-01-22 16:58:22 +01:00
sonninnos 127c676048
Cleanup runloop_environment logging + readability (#14855) 2023-01-16 01:49:25 +01:00
libretroadmin daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
libretroadmin 3277d7b8fa (Emscripten) Add HAVE_PATCH support for Emscripten
(Patch) if HAVE_PATCH is not defined, silence warnings
2023-01-07 05:15:36 +01:00
libretroadmin 5ac8cc0b6a * Rename retroarch_path_set_redirect to runloop_path_set_redirect
* move more retroarch path functions to runloop.c - because they
are related to the runloop state instead of retroarch state
2023-01-06 21:21:31 +01:00
LibretroAdmin f5133d8cc4
Revert "Add Xdelta support for softpatching (#14706)" (#14743)
This reverts commit aaad220836.
2022-12-19 03:29:46 +01:00
Jesse Talavera-Greenberg aaad220836
Add Xdelta support for softpatching (#14706)
* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* First crack at xdelta softpatching support

- There may be undiscovered edge cases or bugs

* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* First crack at xdelta softpatching support

- There may be undiscovered edge cases or bugs

* Remove trailing commas from the enums I modified

- C89 doesn't allow them

* Remove stray whitespace

* Adjust SIZE macros in xdelta3.h

- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX

* Add some RARCH_DBG calls for xdelta patching

* Enable support for xdelta's secondary compressors

- Necessary for some patches

* Fix some format specifiers

* Remove unnecessary files from xdelta

* Include xdelta3.h with a relative path

* Add xdelta3 headers to HEADERS variable

* Gate Xdelta support behind HAVE_XDELTA

- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found

* Disable HAVE_XDELTA on platforms where the build recently failed

- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong

* Fix a potential memory leak

- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream

* Split the --help printout for --xdelta into its own strlcat call

- GCC was complaining about #ifdefs within macro arguments being non-portable

* Fix some incorrect printf format specifiers

* Modify Xdelta to adhere to C89

- It's mostly using RetroArch's INLINE macro instead of the inline keyword
2022-12-19 01:10:04 +01:00
libretroadmin 2c42912185 More header cleanups 2022-12-05 15:15:07 +01:00
sonninnos 10a74657c3
Move SRAM init to content init (#14653) 2022-11-21 15:24:58 +01:00
LibretroAdmin 44cb5be2ef (task_content.c) Cut down on code duplication 2022-10-25 16:32:16 +02:00
sonninnos 03c901dfb8
Playlist + database changes: (#14531)
- Cleanup 'entry_slot'
- Fallback label + logging
2022-10-18 21:32:54 +02:00
LibretroAdmin a153738bbd Create retroarch_get_flags and use it 2022-10-12 13:27:54 +02:00