Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rescue extract-xiso from oblivion #80

Open
wants to merge 55 commits into
base: master
Choose a base branch
from

Commits on Mar 4, 2023

  1. Configuration menu
    Copy the full SHA
    a5857a3 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2023

  1. Rewrite traverse_xiso() to use recursion

    In the past it was rewritten to avoid recursion because of some stack overflows. I think it's unlikely that the recursion was the real problem, and the code was impossible to read and understand.
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    90f0945 View commit details
    Browse the repository at this point in the history
  2. Fix some warnings

    Add one decimal place when showing file percentage
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    01f8bb1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0b1804f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c07d089 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b04abd0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2e81f67 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    093f36a View commit details
    Browse the repository at this point in the history
  8. Check before free

    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    c14ddce View commit details
    Browse the repository at this point in the history
  9. Add new strategy to list files in directory

    Discover files not in tree in rewrite mode
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    4759c86 View commit details
    Browse the repository at this point in the history
  10. Many fixes for directories with size 0

    Fix rewriting of ISOs with empty root
    
    Allow root directory to be in sector 0
    
    Don't give error in case of empty ISO, just rewrite a new empty one
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    b9a36ea View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2fda995 View commit details
    Browse the repository at this point in the history
  12. Various changes for legibility

    Fix some warinings and possible integer overflows
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    54375af View commit details
    Browse the repository at this point in the history
  13. Fixed bug that would not skip files >= 4 GiB

    Use signed ints for read() and write() return values
    
    Bump cmake version to 3.20 and set C_STANDARD to 99
    
    Compile with higher warning level, suppress useless warnings and fix many new warnings
    
    Properly build Debug builds
    
    Compile Release build with -O2 optimization
    
    Merge compiler-dependant definitions and pragmas
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    ccc5373 View commit details
    Browse the repository at this point in the history
  14. Fix a bug that would cause unnecessary overlapping writes for xbe fil…

    …es when media patch is enabled
    
    Simplify write_file()
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    8f4bb08 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    49e0f25 View commit details
    Browse the repository at this point in the history
  16. Fix lseek with wrapper that returns error when trying to seek past fi…

    …le end
    
    Simplify s_xbox_disc_lseek finding
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    9c636dd View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    5216be4 View commit details
    Browse the repository at this point in the history
  18. Fix compilation under FreeBSD, OpenBSD, MinGW and Cygwin/MSYS2, add s…

    …upport for NetBSD
    
    Add Linux, FreeBSD, OpenBSD and NetBSD GitHub actions
    
    Enable 64-bit builds again
    
    Update to v3 actions
    
    Set C standard to c99, not gnu99
    
    Replace alloc_filetime_now calculation with magic numbers from Microsoft, rename it to get_filetime_now and return int64_t intead of allocating a struct
    
    Use target byte swap functions
    
    Update appveyor.yml to VS 2022
    
    Reorder Windows-specific includes and defines
    
    Better check for endianness
    
    Check CHAR_BIT just in case
    
    Rename targets to current commercial names
    
    Simplify target-specific includes and definitions
    
    Migrate to new method for accessing big files on Linux (it shouldn't matter, since we don't support 32-bit builds on Linux anyways)
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    9be2806 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    a029894 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    80e7d5d View commit details
    Browse the repository at this point in the history
  21. Rewrite usage macro to include exit and print to stdout when using -h…

    … flag (this way the help can be piped to more or less)
    
    Move usage to a function, potentially reducing binary size
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    6928e89 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3dd3297 View commit details
    Browse the repository at this point in the history
  23. Fix typo and spacing, use tabulation to align output

    Print root in listing and extracting mode
    
    Simplify path generation in decode_xiso
    
    Better check for iso name and path in decode_xiso
    
    Ignore destination path in listing mode
    rapperskull committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    c9dacc3 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Configuration menu
    Copy the full SHA
    c76c66a View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. Simplify main a bit

    rapperskull committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    481ab8d View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2023

  1. Add alternative XGD2 offset

    Found in 'Xbox 360 Trial Disk' (http://redump.org/disc/58095/)
    rapperskull committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    13e88af View commit details
    Browse the repository at this point in the history
  2. Add support for Unicode characters

    Unicode characters outside the Windows-1252 charset are replaced with spaces, while Windows-1252 characters not in ASCII charset are correctly handled on all systems
    rapperskull committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    64e7003 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2023

  1. Fix rewrite mode skipping some files

    Don't skew tree when unnecessary
    
    This produces the same trees of retail ISOs (not sure if avl_compare_key always produces the same order as retail)
    rapperskull committed Mar 28, 2023
    Configuration menu
    Copy the full SHA
    37fa5e7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ae06b0c View commit details
    Browse the repository at this point in the history
  3. Preserve file attributes when rewriting

    Store files from disk with attribute NORMAL instead of ARCHIVE
    rapperskull committed Mar 28, 2023
    Configuration menu
    Copy the full SHA
    53fe37a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fe885c6 View commit details
    Browse the repository at this point in the history
  5. Fix potential memory leak

    rapperskull committed Mar 28, 2023
    Configuration menu
    Copy the full SHA
    2debfbb View commit details
    Browse the repository at this point in the history
  6. Improve speed and memory usage when rewriting or creating by using a …

    …buffer instead of calling malloc/free every time
    rapperskull committed Mar 28, 2023
    Configuration menu
    Copy the full SHA
    fd97a47 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Configuration menu
    Copy the full SHA
    f03952e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7cae2b4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c9f5b4b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a56c7b2 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. Add const qualifiers

    rapperskull committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    0e6eeaf View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2023

  1. Rewrite boyer moore implementation

    It has been externally tested with many test cases, including specific tests for the Rytter correction
    rapperskull committed Apr 3, 2023
    Configuration menu
    Copy the full SHA
    36a9a1f View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2023

  1. Configuration menu
    Copy the full SHA
    1bc46b4 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2023

  1. Remove unnecessary seek

    Fix file size test in verify_xiso() broken since 715d798
    rapperskull committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    779b0b6 View commit details
    Browse the repository at this point in the history
  2. Fix Release CI

    Move to 'softprops/action-gh-release@v1' action
    Update 'actions/checkout' to v4
    rapperskull committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    6384074 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Properly convert CP1252 filenames to uppercase

    Replace invalid CP1252 characters with question mark
    rapperskull committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    83f5901 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4ce46e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bca856c View commit details
    Browse the repository at this point in the history
  4. Allow the path to file to include symlinks

    Symlinks are not followed below the root, to avoid potential recursions
    
    Windows is an exception, since we don't have an 'lstat' equivalent
    rapperskull committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    6113b15 View commit details
    Browse the repository at this point in the history
  5. Replace getopt and aspritf implementations

    The new code is licensed under BSD
    rapperskull committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    2334785 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1d92f4f View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Replace dirent implementation with one capable of detecting symlinks

    Now symlinks are skipped on Windows too
    rapperskull committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    59bfde6 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Configuration menu
    Copy the full SHA
    9a0f38c View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2024

  1. Make all functions static

    Remove unused defines
    rapperskull committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    21fe68f View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2024

  1. Skip $SystemUpdate directory during tree parsing, not writing

    Disable -s option in listing mode
    rapperskull committed Mar 3, 2024
    Configuration menu
    Copy the full SHA
    1013c56 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eb47daa View commit details
    Browse the repository at this point in the history
  3. Update dependecy

    rapperskull committed Mar 3, 2024
    Configuration menu
    Copy the full SHA
    ae5f197 View commit details
    Browse the repository at this point in the history