mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Fix infinite loop when no chapter number is parsed
This commit is contained in:
		@@ -111,12 +111,15 @@ public class ChapterRecognition {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Strip anything after "part xxx" and try that
 | 
			
		||||
        name = pPart.matcher(name).replaceAll("$1");
 | 
			
		||||
        dummyChapter.name = name;
 | 
			
		||||
        parseChapterNumber(dummyChapter, manga);
 | 
			
		||||
        if (dummyChapter.chapter_number >= 0) {
 | 
			
		||||
            chapter.chapter_number = dummyChapter.chapter_number;
 | 
			
		||||
            return;
 | 
			
		||||
        matcher = pPart.matcher(name);
 | 
			
		||||
        if (matcher.find()) {
 | 
			
		||||
            name = pPart.matcher(name).replaceAll("$1");
 | 
			
		||||
            dummyChapter.name = name;
 | 
			
		||||
            parseChapterNumber(dummyChapter, manga);
 | 
			
		||||
            if (dummyChapter.chapter_number >= 0) {
 | 
			
		||||
                chapter.chapter_number = dummyChapter.chapter_number;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -172,4 +172,11 @@ public class ChapterRecognitionTest {
 | 
			
		||||
        ChapterRecognition.parseChapterNumber(c, randomManga);
 | 
			
		||||
        assertThat(c.chapter_number).isEqualTo(027f);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testUnparsable() {
 | 
			
		||||
        Chapter c = createChapter("Foo");
 | 
			
		||||
        ChapterRecognition.parseChapterNumber(c, randomManga);
 | 
			
		||||
        assertThat(c.chapter_number).isEqualTo(-1f);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user