Commit Graph

515 Commits

Author SHA1 Message Date
Brad Parker cd9d09d1f3 use unicode versions of windows functions 2016-11-29 14:34:35 -05:00
twinaphex 4029709658 Fix warning 2016-11-27 14:50:42 +01:00
Gregor Richards 096eb072e1 Replacing archive_file_zlib backend with trans_stream 2016-11-26 15:48:58 -05:00
Gregor Richards ac50e17f50 Moving zlib stream interface
Moving the zlib streaming interface out of archive_file and into
trans_stream, including updating the png support to use the new
trans_stream interface. archive_file_zlib itself still needs updating.
2016-11-26 10:47:24 -05:00
Twinaphex 73ec076160 Merge pull request #3878 from aliaspider/master
set config file streams to full buffering. dramatically reduces startup/
2016-10-28 02:57:05 +02:00
aliaspider fd43a460f4 set config file streams to full buffering. dramatically reduces startup/
shutdown latency on some devices with slow I/O access.
2016-10-28 01:49:53 +01:00
twinaphex 4fb6808321 libretro-common is MIT and we don't want individual copyright
per authors here; RetroArch is GPL and it's fine there
2016-10-27 19:52:58 +02:00
twinaphex 88e88e92f3 Prevent crash with zipped roms 2016-10-27 19:50:19 +02:00
Brad Parker d1d5584d18 update copyright 2016-10-27 11:47:10 -04:00
twinaphex 6310f53587 Prevent some implicit memsets and reduce the size of some
char variables
2016-10-27 10:45:53 +02:00
twinaphex 053208676f Prevent null pointer dereference 2016-10-26 09:55:09 +02:00
twinaphex df87fc7043 Cleanups - prevent implicit memsets 2016-10-16 02:00:59 +02:00
Brad Parker f0d1a733e3 fix 7z extraction endless loop 2016-10-11 02:07:21 -04:00
twinaphex 481ebced22 Prevent implicit memsets 2016-10-09 09:56:03 +02:00
twinaphex 5f5571e241 (libretro-common) don't do implicit memset 2016-10-08 20:04:48 +02:00
aliaspider e9618dd6a0 (3DS) opendir with an empty string isn't returning NULL as it should. 2016-10-04 19:40:36 +01:00
twinaphex a1c2036769 Create samples/file/nbio 2016-09-29 21:28:56 +02:00
Brad Parker af98ee1c8a Add CRC calculation function that works with archives with or without a path inside (first file is used if no path)
Add all archive's contents to database scan list when scanning files and directories

Allow scanning a single file that is an archive

Remove unnecessary prototypes from archive_file.h

Simplify retrieving of CRCs from archives when scanning
2016-09-25 00:15:05 -04:00
twinaphex dac5b1aabd Fix warning 'dereference after null' 2016-09-23 02:05:12 +02:00
twinaphex d641930baf Fix statement is unreachable warning 2016-09-22 23:10:11 +02:00
Brad Parker d493273bcf use first extracted file if one is not specified and !need_fullpath and !block_extract 2016-09-22 16:03:31 -04:00
twinaphex 1a55721c78 Fix some high-priority Coverity-catched defects 2016-09-20 16:10:27 +02:00
twinaphex 14b297b144 Simplify file_archive_file_list_new 2016-09-20 03:25:34 +02:00
Brad Parker 992b87321a more archive paths 2016-09-19 21:06:23 -04:00
Brad Parker 137968c001 treat .apk files as .zip, set archive_path any time we need to decompress a file 2016-09-19 18:38:33 -04:00
twinaphex bfeb0111f8 Fix C89_BUILD errors 2016-09-19 18:29:10 +02:00
twinaphex 871621fdfa Move implementation file_archive_file_data to archive_file.c 2016-09-19 18:26:16 +02:00
Brad Parker fb26f3bbb7 fix divide by zero, use non-opaque type for file_archive functions 2016-09-19 12:06:07 -04:00
Twinaphex 3642764064 (archive_file.c) fix warning 2016-09-19 13:30:29 +02:00
Brad Parker 0899cd091e fix selecting 7z archive files other than the first one 2016-09-19 02:43:09 -04:00
Brad Parker 653f5fe96c remove debug prints 2016-09-18 21:22:13 -04:00
Brad Parker 2a75b88d89 file_archive_extract_first_file can choose any file now 2016-09-18 21:22:13 -04:00
Brad Parker 162efd86dc uncompressed 7z files do not have a compressed size 2016-09-18 17:37:39 -04:00
twinaphex d25cace9ed Add config_file_exists 2016-09-18 21:55:53 +02:00
Brad Parker a7ffead8f6 fix more memory corruption 2016-09-18 15:20:27 -04:00
twinaphex bd1eebc579 Nit 2016-09-18 19:07:48 +02:00
Brad Parker 25105ed565 upstream merge 2016-09-18 12:52:20 -04:00
Brad Parker dbbd49f9f9 merge with master, remove alignment test code 2016-09-18 12:44:00 -04:00
twinaphex 93738fae9f CXX_BUILD fix 2016-09-18 18:34:59 +02:00
Brad Parker f13bce4e50 - use the detected stream backend's crc32 function
- remove zlib/7zip ifdef from archive_file.c, task_content.c and task_database.c
- don't re-compute CRC from one stored in archive
2016-09-18 12:31:24 -04:00
twinaphex c2e2d41452 C89_BUILD fixes 2016-09-18 18:28:33 +02:00
twinaphex 4e32fb0fd7 Update archive_file.c 2016-09-18 18:23:14 +02:00
Twinaphex 61c3de1f6a Griffin buildfixes 2016-09-18 16:49:09 +02:00
Brad Parker 7c29fd6c33 create 7z archive backend, enables scanning of 7z content 2016-09-18 10:31:21 -04:00
Alcaro 5aa0628ebf Kill an overflow or two. Or twelve. 2016-09-04 18:12:03 +02:00
Brad Parker ae36b0f73d 7z extension is .7z not .zip 2016-08-30 16:31:53 -04:00
radius cb25a9e4b8 should fix other platforms 2016-08-27 23:39:47 -05:00
radius 7092c0dbf4 windows build fix 2016-08-27 22:59:47 -05:00
Alcaro 9ffffcd249 Fix missing header 2016-08-26 18:29:41 +02:00
Brad Parker 6eebbfd8ae use const delimiter and remove pointer arithmetic 2016-08-26 11:36:52 -04:00
Twinaphex 7edf762ac6 Merge pull request #3426 from bparker06/hash_filename
correctly handle content paths containing a hash (#), fixes issue #3273
2016-08-26 17:20:43 +02:00
Brad Parker 89f9b096e7 style cleanup and fix typos 2016-08-25 21:40:37 -04:00
Brad Parker 097f326298 simplify delimiting of compressed archive filenames 2016-08-25 16:18:29 -04:00
Alcaro 0bd9ccddc1 false is most certainly not 1. 2016-08-25 12:02:42 +02:00
Brad Parker 5275c0a45d correctly handle content paths containing a hash (#), fixes issue #3273 2016-08-24 16:54:10 -04:00
Alcaro be4e0aee1f Clean up this thing 2016-08-20 21:23:32 +02:00
twinaphex 7f3e63a18d config_set_string - prevent potential crash 2016-08-20 21:21:09 +02:00
meleu db204afc9c changes based on the @Alcaro suggestions
Suggestions made here: https://github.com/libretro/RetroArch/pull/3407
2016-08-19 16:31:13 -03:00
meleu c92efacebe avoid problems if ROM name has percents
As @Alcaro noted here: https://github.com/libretro/RetroArch/pull/3407
2016-08-19 10:13:33 -03:00
meleu 4e44ab99a1 added fill_str_dated_filename() function
This function creates a 'dated' filename prefixed by the string `in_str`, and concatenates extension (`ext`) to it.
2016-08-19 08:45:58 -03:00
Alcaro 4ce3683333 Fix indentation derp 2016-08-17 13:53:41 +02:00
Alcaro 43a6a667be We don't need this one. 2016-08-08 19:14:00 +02:00
twinaphex a532bc2b0e (PS3 Salamander) Silence unused variable warning 2016-07-24 11:33:44 +02:00
twinaphex 45c33c7acf Create fill_pathname_base_ext 2016-07-01 11:12:24 +02:00
twinaphex 83bafe1b19 Cleanups 2016-06-30 05:04:27 +02:00
twinaphex 5f71ecc1d1 Create fill_pathname_join_special_ext 2016-06-30 04:59:57 +02:00
twinaphex 3f8b1d04ed Reuse code 2016-06-29 18:54:40 +02:00
twinaphex 668b4b5d26 Remove duplicate fill_string_concat 2016-06-29 18:14:42 +02:00
twinaphex a7e8707f7d Create fill_pathname_join_delim_concat 2016-06-29 17:51:25 +02:00
twinaphex c38c28a0f5 Create fill_pathname_join_concat 2016-06-29 17:46:50 +02:00
twinaphex f4ef5e82c2 Create and use fill_string_concat 2016-06-29 17:41:32 +02:00
twinaphex 7647c9be59 Add noext versions 2016-06-28 13:08:03 +02:00
twinaphex ca3eecf5c0 Create fill_pathname_join_noext 2016-06-28 13:05:46 +02:00
twinaphex c03e566eba Create filL_short_pathname_representation_noext 2016-06-28 12:49:37 +02:00
twinaphex 0709f2b11b (libretro-common) (file_path.c) Cleanups 2016-06-28 12:43:50 +02:00
aliaspider 5a80bd6b30 (VITA) build fix for latest sdk. 2016-06-05 22:01:25 +01:00
twinaphex d95c421ba9 (config_file.c) Cleanups 2016-06-03 07:52:57 +02:00
twinaphex d40eade52c Create filestream_getline 2016-06-03 07:09:50 +02:00
twinaphex e9cf351c67 Move settings around for User Interface -
(config_file) Try to get rid of forward declarations
2016-06-03 06:43:11 +02:00
twinaphex 5eb43846da Prevent explicit NULL dereferenced warnings 2016-06-01 04:14:48 +02:00
twinaphex 03ded43280 Prevent explicit null dereferenced warnings 2016-05-26 18:09:46 +02:00
twinaphex 8f7e253f1f (config_file.c) Fix control flow issue 2016-05-24 14:20:03 +02:00
twinaphex ac407588fa Include stdstring.h 2016-05-24 01:08:01 +02:00
radius 86b5b361da fix the last commit 2016-05-23 18:06:50 -05:00
radius 9300313fce fix lockup
this seems to fix a lockup that happens randomly on windows at startup, content load/content unload/controller hotplug
2016-05-23 17:57:15 -05:00
twinaphex 377f09f12a Change back retro_dirent_is_dir to hopefully avoid sshfs issues
- more rigorous testing should be applied before changing these
functions
2016-05-11 18:54:22 +02:00
Andre Leiradella b38e234d2e made find_last_slash public 2016-05-05 16:22:35 -03:00
twinaphex d4a50935d2 C89_BUILD fix 2016-04-27 10:58:38 +02:00
twinaphex 08b7ac500b (libretro-common) Updates 2016-04-23 10:40:46 +02:00
twinaphex ac18671ead Update libretro-common 2016-04-22 05:28:49 +02:00
twinaphex 8ba1f2fca6 (libretro-common) archive_file_zlib.c - cleanup 2016-04-08 02:54:37 +02:00
twinaphex e88e580832 (libretro-common) archive_file.c - Cleanups 2016-04-08 02:51:17 +02:00
twinaphex e41127459e Rename 'filestream' functions 2016-03-24 04:09:25 +01:00
twinaphex c8f4d97839 Move config_file_userdata outside libretro-common 2016-03-21 18:49:50 +01:00
twinaphex 32a8b57826 Move test files 2016-03-21 18:27:02 +01:00
twinaphex 972d3faabb (libretro-common) Cleanups 2016-03-20 17:15:40 +01:00
twinaphex f55ee11554 (libretro-common) Header updates 2016-03-20 17:13:31 +01:00
twinaphex 3720cf87e7 Rename retro_file to file_stream 2016-03-20 16:29:14 +01:00
twinaphex be9bf7dc44 (libretro-common) Move memory_stream 2016-03-20 16:17:44 +01:00
twinaphex c7e13e2bcd (libretro-common) Rename file_archive to archive_file 2016-03-20 16:14:40 +01:00
twinaphex 93b7dc1bdd (libretro-common) move 'lists' files to lists/ 2016-03-20 14:53:54 +01:00
twinaphex b40b169098 Copy over libretro-common changes 2016-03-20 04:49:59 +01:00
twinaphex ea7cf9d9ca (file_archive.c) Style nits 2016-03-20 04:21:47 +01:00
twinaphex 7d346d627f Robustness fixes 2016-02-29 01:22:39 +01:00
twinaphex cec6701c0d (config_file.C) Fix segfaultthat happened at freeing of tmp->key
when tmp->key is NULL
2016-02-28 18:44:07 +01:00
twinaphex 1516ee8e76 Silence this warning too for C89 - not correct but whatever -
never used
2016-02-25 22:36:08 +01:00
radius 80845f1cd6 save only modified values when saving remaps 2016-02-09 23:39:16 -05:00
twinaphex eb5986d332 Cleanup 2016-01-30 04:43:35 +01:00
twinaphex c5597d3c9d Cleanups 2016-01-26 05:59:52 +01:00
twinaphex f89467ccbf Create fill_string_join 2016-01-26 01:46:15 +01:00
twinaphex e386bc4963 Cleanup 2016-01-26 01:27:23 +01:00
twinaphex b7434c6564 Rename to file_archive_decompress_data 2016-01-25 02:52:03 +01:00
twinaphex 9459cf6445 Rename zlib_ to file_archive_ 2016-01-24 22:17:11 +01:00
twinaphex 44ec82362e Cleanup 2016-01-24 22:06:01 +01:00
twinaphex 6878aa0844 Turn file_archive_inflate_data_to_file into static function 2016-01-24 22:04:21 +01:00
twinaphex aae1faf76f Move crc32_calculate to file_archive_zlib.c 2016-01-24 21:50:28 +01:00
twinaphex d53a0c5994 Cleanup 2016-01-24 21:36:01 +01:00
twinaphex 6580c817c2 Cleanup 2016-01-24 21:31:47 +01:00
twinaphex 2bc75715f7 Move zlib_deflate_init to file_archive_zlib.c 2016-01-24 21:26:02 +01:00
twinaphex 1a04bb4532 Add stream_decompress_data_to_file_init and stream-decompress_data_to_file_iterate to
file_archive_zlib.c
2016-01-24 21:23:33 +01:00
twinaphex c1364648e7 Cleanup 2016-01-24 21:12:16 +01:00
twinaphex 7130f0c8d8 Move zlib_set_stream to file_archive_zlib 2016-01-24 21:06:53 +01:00
twinaphex 7d29929819 Move file_archive_inflate_init to file_archive_zlib 2016-01-24 20:18:52 +01:00
twinaphex fa00f51e80 Move zlib_deflate_data_to_file to file_archive_zlib.c 2016-01-24 20:15:17 +01:00
twinaphex d1ef6f032e Create stream_compress_free and add it to file_archive_zlib 2016-01-24 20:12:12 +01:00
twinaphex f264d3d29b Move zlib_stream_ functions to file_archive_zlib.c 2016-01-24 20:08:57 +01:00
twinaphex 064c5ffc3a Move zlib_stream_free to file_archive_zlib.c 2016-01-24 20:01:35 +01:00
twinaphex 9a23d95846 Add zlib_stream_new to file_archive_zlib.c 2016-01-24 19:57:31 +01:00
twinaphex 021d8e6af8 Make file_archive_get_default_file_backend public scope 2016-01-24 19:48:25 +01:00
twinaphex 6f3adc900d Style nits 2016-01-24 19:44:18 +01:00
twinaphex c4fa71ecc3 Move functions 2016-01-24 19:29:34 +01:00
twinaphex 3e3b57200a Cleanup 2016-01-24 19:25:30 +01:00
twinaphex 14e389bccf Improve ZLIB_TRANSFER_DEINIT case 2016-01-24 19:16:26 +01:00
twinaphex b4b686fdff Cleanups/style nits 2016-01-24 19:10:02 +01:00
twinaphex 5c2acea38c Do 'free' on handle->stream in case of an error in file_archive_inflate_data_to_file_init 2016-01-24 18:55:50 +01:00
twinaphex cc69cfe6a7 Use zlib_transfer_t * instead of void * 2016-01-24 18:53:37 +01:00
twinaphex cf94c0b6c0 Move file backend back to file_archive.c 2016-01-24 16:18:18 +01:00
twinaphex 3c2a45d923 Rename file_extract functions 2016-01-24 07:42:46 +01:00
twinaphex 552e78c9bc Rename file_extract to file_archive 2016-01-24 07:29:11 +01:00
twinaphex 09e5dc9c50 Cleanup 2016-01-24 06:55:26 +01:00
twinaphex 5c615f18e1 Turn zlib_inflate_init2 into static function 2016-01-24 06:52:14 +01:00
twinaphex 280e10195c Remove zlib_crc32_adjust - reuse zlib_crc32_calculate for this 2016-01-24 06:50:18 +01:00
twinaphex c6f7afbd9a Adjust zlib_crc32_calculate 2016-01-24 06:47:06 +01:00
twinaphex a0e9a4c68e Cleanups 2016-01-24 06:42:57 +01:00
twinaphex 78feccd0a3 Split up file extract zlib driver code to separate file 2016-01-24 06:18:53 +01:00
twinaphex 458e3a0fad Fix zlib_extract_first_content_file - we now pass a
new string to zlib_extract_first_content_file which will
fill in the extracted first file's path, we then add this
to temporary_content string list
2016-01-24 05:41:41 +01:00
twinaphex b4956ac7c1 zlib_get_file_list- cleanup 2016-01-23 23:02:16 +01:00
twinaphex 9c131dfaad Cleanup 2016-01-23 23:00:35 +01:00
twinaphex 365b27caac Simplify zip_extract_cb 2016-01-23 22:57:21 +01:00
Alcaro 2ffe03f732 Fix creepy type error. 2016-01-18 23:24:22 +01:00
twinaphex 6ff544ba1a Update libretro-common 2015-12-31 15:28:46 +01:00
twinaphex 68d66be389 C89_BUILD fixes 2015-12-26 08:13:33 +01:00
Higor Eurípedes 5cbcd90707 (retro_file.c) Get rid of uneeded error messages in retro_read_file()
fseek/ftell lie about the file size in some filesystems (like sysfs) and
this makes the function complain about incomplete read when the file has
been fully read.
2015-12-23 21:20:26 -03:00
Higor Eurípedes f386c9b7f9 (file_extract) Fix invalid read in zlib_parse_file_progress() 2015-12-05 20:57:04 -03:00
Higor Eurípedes a171f3c6d1 (task_decompress.c) Add progress report 2015-11-30 10:41:35 -03:00
twinaphex 40e8f4eba6 Dehardcode C89_BUILD ifdefs 2015-11-25 02:10:31 +01:00
twinaphex 074f14b132 Add verbosity.c/verbosity.h 2015-11-23 12:03:38 +01:00
Alcaro 888ba881ec No need to free a known null... 2015-11-20 16:33:21 +01:00
Alcaro 4b96b5814f Fix some weirdness down here. 2015-11-20 16:30:55 +01:00
twinaphex 1e006e3edc Comment out config_get_uint64 when compiling for C89 2015-11-19 13:52:40 +01:00
Higor Eurípedes 24d0f40959 (retro_file) Small cleanup in fopen() 2015-11-15 20:49:04 -03:00
twinaphex 74464f1843 retro_file.c - CXX_BUILD buildfix 2015-11-15 22:58:31 +01:00
twinaphex 149d892910 Cleanup config_file.c 2015-11-15 22:28:57 +01:00
Higor Eurípedes c2eac57529 (retro_file) Fix fseek() 2015-11-15 10:42:38 -03:00
Higor Eurípedes e0e48e8d3e Fix console builds 2015-11-14 20:47:20 -03:00
Higor Eurípedes f527f6466f (libretro-db) Fix build 2015-11-14 19:44:08 -03:00
Higor Eurípedes 72aa4f951c (retro_file) Fix undefined symbols on win32 2015-11-14 17:08:16 -03:00
Higor Eurípedes 0af8b9c731 (retro_file) Fix retro_fwrite() 2015-11-14 17:08:16 -03:00
Higor Eurípedes dac22cf95b (retro_file) Make mmap fseek()/fread() a little more POSIX/ISO-C compliant 2015-11-14 16:03:49 -03:00
Higor Eurípedes eb7b46c7c1 (retro_file) Implement RFILE_HINT_MMAP 2015-11-14 16:03:49 -03:00
Higor Eurípedes 533f41259a (retro_file) Implement RFILE_HINT_UNBUFFERED 2015-11-14 16:03:49 -03:00
Yongwoon Cho ca9b7c141b Fix: iOS cannot go to parent directory. 2015-11-05 05:45:01 +09:00
Yongwoon Cho 9ba6877772 Fix: iOS cannot go to parent directory. 2015-11-05 05:43:13 +09:00
Yongwoon Cho 21944b2e11 Fix: iOS cannot go to parent directory. 2015-11-05 02:43:35 +09:00
Twinaphex 6f0e632f36 Get rid of dir_list_obj.m for iOS 2015-10-26 22:42:31 +01:00
twinaphex 02a43c6b2a Change 'rarch' to 'retro' namespace in libretro-common 2015-10-26 03:18:13 +01:00
twinaphex 1943ccacfb Don't use compat/strl.h for OSX/iOS either 2015-10-26 00:29:16 +01:00
twinaphex 5ea75b616f Don't use compat/posix_string.h for OSX/iOS 2015-10-26 00:21:37 +01:00
twinaphex d19477edc5 (libretro-common) Update 2015-10-25 21:12:54 +01:00
twinaphex c96976083e Compile retro_stat as C 2015-10-25 20:57:38 +01:00
twinaphex 4b41ea60a0 Fix CXX_BUILD 2015-10-25 20:40:47 +01:00
twinaphex 14e46e0048 Remove menu_list_get_alt_at_offset 2015-10-18 21:54:20 +02:00
aliaspider 3879e2a7e7 (CTR/3DS) mkdir_norecurse: correct directory exists being treated as an
error.
2015-10-05 22:20:06 +01:00
twinaphex 56309b1f19 (retro_stat.c) Should hopefully fix this now 2015-10-03 01:46:16 +02:00
twinaphex 61a630fabe GetFileAttributesEx returns 'zero' in case of an error 2015-10-03 01:01:57 +02:00
twinaphex 85be9b907d (retro_stat.c) initialize variable 2015-10-02 18:26:01 +02:00
twinaphex 8f67989bf1 (retro_dirent.c) Don't need posix_string for retro_dirent 2015-10-02 18:03:30 +02:00
twinaphex ba1ef9c3c2 (MSVC) Buildfixes 2015-10-02 17:57:37 +02:00
twinaphex 80e129d696 Forgot to change it to GetFileAttributesEx 2015-10-02 03:40:20 +02:00
twinaphex a99183e425 (Windows) Attempt implementing reading the file size without
relying on stat
2015-10-02 03:06:13 +02:00
twinaphex 4c27cd6b5c Attempt to fix Win32 port - path_stat/path_get_size 2015-10-01 07:25:00 +02:00
twinaphex 1a2da93c9c path_get_size - change non-portable ssize_t to int32_t 2015-10-01 02:40:54 +02:00
twinaphex 90549903b7 (retro_stat.c) Implement path_get_size 2015-10-01 02:23:00 +02:00
twinaphex 0ef40d7819 (retro_file.c) Get rid of dependency on posix_string.h 2015-09-30 03:57:39 +02:00
twinaphex 9d9e90e672 (libretro_common) Fix retro_stat - put it inside extern C block 2015-09-30 03:41:01 +02:00
twinaphex 87d44af218 Static code analysis cleanups 2015-09-29 18:08:33 +02:00
Francisco José García García 1945b7e76d (Vita) Fix creating directories 2015-09-29 00:40:00 +02:00
twinaphex 0cc56e2a1a More static code analysis nits 2015-09-28 18:44:28 +02:00
twinaphex 4ca5d31f9b Some more static code analysis nits when ran with enable=all 2015-09-28 18:12:02 +02:00
radius a2a00b28a0 [PSP] fix path_stat 2015-09-24 21:11:17 -05:00