Skip to content

Commit 7f56b01

Browse files
committed
Fix tar type detection for hidden archives
1 parent eaae45d commit 7f56b01

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

lib/private/Archive/TAR.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function __construct(
4040
* try to detect the type of tar compression
4141
*/
4242
public static function getTarType(string $file): int {
43-
if (strpos($file, '.')) {
43+
if (strrpos($file, '.') !== false) {
4444
$extension = substr($file, strrpos($file, '.'));
4545
switch ($extension) {
4646
case '.gz':

tests/lib/Archive/TARTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
use OCP\Server;
1414

1515
class TARTest extends TestBase {
16+
public function testGetTarTypeWithHiddenArchiveNames(): void {
17+
$this->assertSame(TAR::GZIP, TAR::getTarType('.tar.gz'));
18+
$this->assertSame(TAR::GZIP, TAR::getTarType('.tgz'));
19+
$this->assertSame(TAR::BZIP, TAR::getTarType('.tar.bz2'));
20+
}
21+
1622
#[\Override]
1723
protected function getExisting() {
1824
$dir = \OC::$SERVERROOT . '/tests/data';

0 commit comments

Comments
 (0)