[PR #1991] [CLOSED] rust: handle I/O errors in process_word_file (fixes #1990) #2792

Open
opened 2026-01-29 17:23:56 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/1991
Author: @Shaik-Mudassir2001
Created: 1/7/2026
Status: Closed

Base: masterHead: fix-issue-1990


📝 Commits (1)

  • ab08bff rust: handle I/O errors in process_word_file (fixes #1990)

📊 Changes

2 files changed (+11 additions, -1 deletions)

View changed files

📝 docs/CHANGES.TXT (+1 -0)
📝 src/rust/src/parser.rs (+10 -1)

📄 Description

[FIX] Fix #1990: Handle I/O errors in Rust word file parser

In raising this pull request, I confirm the following (please check boxes):

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.
  • I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • I have never used CCExtractor.
  • I have used CCExtractor just a couple of times.
  • I absolutely love CCExtractor, but have not contributed previously.
  • I am an active contributor to CCExtractor.

Description

This Pull Request addresses a stability issue in the Rust-based parser where the application would panic and terminate if it encountered a reading error in an external word file (such as a capitalization or profanity list).

Changes:

  • Modified process_word_file in src/rust/src/parser.rs: Replaced the .unwrap() call on reader.lines() with an explicit match statement.
  • Error Recovery: Instead of crashing, the program now catches the Err, prints a descriptive message to stderr including the line number and filename, and uses continue to proceed with the rest of the file.

This ensures that a single corrupted line or an I/O hiccup does not interrupt the entire extraction process, making the tool significantly more robust for automated workflows.

Fixes #1990

Checklist

  • Verified code change with cargo check.
  • Updated docs/CHANGES.TXT with a brief description of the fix.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/1991 **Author:** [@Shaik-Mudassir2001](https://github.com/Shaik-Mudassir2001) **Created:** 1/7/2026 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fix-issue-1990` --- ### 📝 Commits (1) - [`ab08bff`](https://github.com/CCExtractor/ccextractor/commit/ab08bff91ad5168ec23e98492692a0970da8ddda) rust: handle I/O errors in process_word_file (fixes #1990) ### 📊 Changes **2 files changed** (+11 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `docs/CHANGES.TXT` (+1 -0) 📝 `src/rust/src/parser.rs` (+10 -1) </details> ### 📄 Description # [FIX] Fix #1990: Handle I/O errors in Rust word file parser <!-- Please prefix your pull request with one of the following: **[FEATURE]** **[FIX]** **[IMPROVEMENT]**. --> **In raising this pull request, I confirm the following (please check boxes):** - [x] I have read and understood the [contributors guide](https://github.com/CCExtractor/ccextractor/blob/master/.github/CONTRIBUTING.md). - [x] I have checked that another pull request for this purpose does not exist. - [x] I have considered, and confirmed that this submission will be valuable to others. - [x] I accept that this submission may not be used, and the pull request closed at the will of the maintainer. - [x] I give this submission freely, and claim no ownership to its content. - [x] **I have mentioned this change in the [changelog](https://github.com/CCExtractor/ccextractor/blob/master/docs/CHANGES.TXT).** **My familiarity with the project is as follows (check one):** - [x] I have never used CCExtractor. - [ ] I have used CCExtractor just a couple of times. - [ ] I absolutely love CCExtractor, but have not contributed previously. - [ ] I am an active contributor to CCExtractor. --- ## Description This Pull Request addresses a stability issue in the Rust-based parser where the application would **panic and terminate** if it encountered a reading error in an external word file (such as a capitalization or profanity list). ### Changes: * **Modified `process_word_file` in `src/rust/src/parser.rs`**: Replaced the `.unwrap()` call on `reader.lines()` with an explicit `match` statement. * **Error Recovery**: Instead of crashing, the program now catches the `Err`, prints a descriptive message to `stderr` including the line number and filename, and uses `continue` to proceed with the rest of the file. This ensures that a single corrupted line or an I/O hiccup does not interrupt the entire extraction process, making the tool significantly more robust for automated workflows. ## Related Issue Fixes #1990 ## Checklist - [x] Verified code change with `cargo check`. - [x] Updated `docs/CHANGES.TXT` with a brief description of the fix. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:23:56 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2792