diff --git a/twrpTar.cpp b/twrpTar.cpp index c024821a..0dff14d8 100644 --- a/twrpTar.cpp +++ b/twrpTar.cpp @@ -570,8 +570,8 @@ int twrpTar::tarList(std::vector *TarList, unsigned thread_id) { while (i < list_size) { if (TarList->at(i).thread_id == thread_id) { strcpy(buf, TarList->at(i).fn.c_str()); - stat(buf, &st); - if (st.st_mode & S_IFREG) { // item is a regular file + lstat(buf, &st); + if (S_ISREG(st.st_mode)) { // item is a regular file if (Archive_Current_Size + (unsigned long long)(st.st_size) > MAX_ARCHIVE_SIZE) { if (closeTar() != 0) { LOGERR("Error closing '%s' on thread %i\n", tarfn.c_str(), thread_id);