]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
main : fix file existence check in main.cpp (#1889)
authorDavidson Francis <redacted>
Thu, 22 Feb 2024 13:01:08 +0000 (10:01 -0300)
committerGitHub <redacted>
Thu, 22 Feb 2024 13:01:08 +0000 (15:01 +0200)
In commit dda4b0e of PR #1872, I've introduced a check for the
existence of files before loading the model. However, I haven't
considered the case where whisper.cpp might read from stdin as well,
and in such cases, the checks should ignore the "-" argument as it
does not represent a regular file.

Additionally, this commit removes the usage of 'stat()' in favor of
the recently introduced function 'is_file_exist()' in common.cpp from
PR #1871.

Apologies for the bug introduced in the previous PR and any
inconvenience it may have caused.

examples/main/main.cpp

index da4ba6a71ed3f541882bcaf0a0f52438aeb7486a..cef96306aa58d636614c67bfecb1f2759966a806 100644 (file)
@@ -10,8 +10,6 @@
 #include <vector>
 #include <cstring>
 
-#include <sys/stat.h>
-
 #if defined(_MSC_VER)
 #pragma warning(disable: 4244 4267) // possible loss of data
 #endif
@@ -845,10 +843,9 @@ int main(int argc, char ** argv) {
 
     // remove non-existent files
     for (auto it = params.fname_inp.begin(); it != params.fname_inp.end();) {
-        struct stat st;
         const auto fname_inp = it->c_str();
 
-        if (stat(fname_inp, &st) == -1) {
+        if (*it != "-" && !is_file_exist(fname_inp)) {
             fprintf(stderr, "error: input file not found '%s'\n", fname_inp);
             it = params.fname_inp.erase(it);
             continue;