From: Davidson Francis Date: Thu, 22 Feb 2024 13:01:08 +0000 (-0300) Subject: main : fix file existence check in main.cpp (#1889) X-Git-Tag: upstream/1.7.4~979 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=c56344b509a78b482201cf96174af21ac56da124;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp main : fix file existence check in main.cpp (#1889) 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. --- diff --git a/examples/main/main.cpp b/examples/main/main.cpp index da4ba6a7..cef96306 100644 --- a/examples/main/main.cpp +++ b/examples/main/main.cpp @@ -10,8 +10,6 @@ #include #include -#include - #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;