Commit 4d856502 for tesseract

commit 4d8565029174d6d70385795eebefd876533e9b97
Author: Vishnu Srivatsava <49309611+VishnuSrivatsava@users.noreply.github.com>
Date:   Mon Nov 2 18:05:47 2026 +0530

    Fix exit code when no renderers could be created (#4669)

    When renderer initialization fails for every requested output format
    (e.g. the output file cannot be created), PreloadRenderers leaves the
    renderer vector empty and main1() falls through with ret_val set to
    EXIT_SUCCESS, so tesseract exits 0 after printing an error. Scripts
    calling the CLI cannot detect the failure without parsing stderr.

    Set EXIT_FAILURE when outputbase was requested but no renderers could
    be created. Plain text output and stdout mode are unaffected because
    they always produce a renderer; training mode pushes a null renderer.

    Fixes #4668

diff --git a/src/tesseract.cpp b/src/tesseract.cpp
index 719f59e1..00218996 100644
--- a/src/tesseract.cpp
+++ b/src/tesseract.cpp
@@ -834,6 +834,11 @@ static int main1(int argc, char **argv) {
     renderers.push_back(nullptr);
   } else if (outputbase != nullptr) {
     PreloadRenderers(api, renderers, pagesegmode, outputbase);
+    if (renderers.empty()) {
+      // PreloadRenderers already reported why; do not report success when
+      // no requested output could be created.
+      ret_val = EXIT_FAILURE;
+    }
   }

   if (!renderers.empty()) {