From 8aac3320beb1fc5850362dca6301ce5b7caa539e Mon Sep 17 00:00:00 2001 From: Lars Vahlenberg Date: Sat, 11 Mar 2023 02:41:50 +0100 Subject: [PATCH] Increase character value to support rar file with more than 100 parts old tyle --- src/SharpCompress/Archives/Rar/RarArchiveVolumeFactory.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SharpCompress/Archives/Rar/RarArchiveVolumeFactory.cs b/src/SharpCompress/Archives/Rar/RarArchiveVolumeFactory.cs index 6903bc5f..fdc3a229 100644 --- a/src/SharpCompress/Archives/Rar/RarArchiveVolumeFactory.cs +++ b/src/SharpCompress/Archives/Rar/RarArchiveVolumeFactory.cs @@ -26,7 +26,7 @@ internal static class RarArchiveVolumeFactory else { //old style - ...rar, .r00, .r01 ... - m = Regex.Match(part1.Name, @"^(.*\.r)(ar|[0-9]+)$", RegexOptions.IgnoreCase); + m = Regex.Match(part1.Name, @"^(.*\.)([r-z{])(ar|[0-9]+)$", RegexOptions.IgnoreCase); if (m.Success) item = new FileInfo( Path.Combine( @@ -34,8 +34,8 @@ internal static class RarArchiveVolumeFactory String.Concat( m.Groups[1].Value, index == 0 - ? "ar" - : (index - 1).ToString().PadLeft(m.Groups[2].Value.Length, '0') + ? m.Groups[2].Value + m.Groups[3].Value + : (char)(m.Groups[2].Value[0] + ((index - 1)/100)) + (index - 1).ToString("D4").Substring(2) ) ) );