Skip to content

Commit d8ed3d6

Browse files
authored
Merge pull request #8158 from hzeller/feature-20250829-no-stdio-remove
Don't use stdio.h remove(), but std::filesystem::remove() instead.
2 parents f6b6b36 + 65b3b6e commit d8ed3d6

File tree

3 files changed

+17
-12
lines changed

3 files changed

+17
-12
lines changed

src/Main.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <iostream>
1515
#include <memory>
1616
#include <string>
17+
#include <system_error>
1718

1819
#include "boost/stacktrace.hpp"
1920
#ifdef ENABLE_READLINE
@@ -228,12 +229,14 @@ int main(int argc, char* argv[])
228229

229230
log_filename = findCmdLineKey(argc, argv, "-log");
230231
if (log_filename) {
231-
remove(log_filename);
232+
std::error_code err_ignore;
233+
std::filesystem::remove(log_filename, err_ignore);
232234
}
233235

234236
metrics_filename = findCmdLineKey(argc, argv, "-metrics");
235237
if (metrics_filename) {
236-
remove(metrics_filename);
238+
std::error_code err_ignored;
239+
std::filesystem::remove(metrics_filename, err_ignored);
237240
}
238241

239242
no_settings = findCmdLineFlag(argc, argv, "-no_settings");

src/odb/src/def/def/defrReader.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929

3030
#include "defrReader.hpp"
3131

32-
#include <sys/stat.h>
33-
3432
#include <cstdio>
3533
#include <cstdlib>
3634
#include <cstring>
35+
#include <filesystem>
3736
#include <sstream>
3837
#include <string>
3938
#include <string_view>
39+
#include <system_error>
4040

4141
#include "defiDebug.hpp"
4242
#include "defiMisc.hpp"
@@ -1109,14 +1109,15 @@ int defrRead(FILE* f, const char* fName, defiUserData uData, int case_sensitive)
11091109
defContext.data = defData;
11101110

11111111
// lex_init
1112-
struct stat statbuf;
11131112

11141113
/* 4/11/2003 - Remove file lefrRWarning.log from directory if it exist */
11151114
/* pcr 569729 */
1116-
if (stat("defRWarning.log", &statbuf) != -1) {
1115+
std::error_code err_ignored;
1116+
const auto warning_file = std::filesystem::path("defRWarning.log");
1117+
if (std::filesystem::exists(warning_file, err_ignored)) {
11171118
/* file exist, remove it */
11181119
if (!defContext.settings->LogFileAppend) {
1119-
remove("defRWarning.log");
1120+
std::filesystem::remove(warning_file, err_ignored);
11201121
}
11211122
}
11221123

src/odb/src/lef/lef/lefrData.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
// *****************************************************************************
2929
#include "lefrData.hpp"
3030

31-
#include <sys/stat.h>
32-
3331
#include <cctype>
3432
#include <cstdio>
3533
#include <cstdlib>
34+
#include <filesystem>
35+
#include <system_error>
3636

3737
#include "lefrSettings.hpp"
3838

@@ -62,7 +62,6 @@ lefrData::lefrData()
6262
current_token[0] = '\0';
6363

6464
// lef_lex_init()
65-
struct stat statbuf;
6665

6766
// initRingBuffer();
6867
int i;
@@ -95,10 +94,12 @@ lefrData::lefrData()
9594

9695
// 4/11/2003 - Remove file lefrRWarning.log from directory if it exist
9796
// pcr 569729
98-
if (stat("lefRWarning.log", &statbuf) != -1) {
97+
std::error_code err_ignored;
98+
const auto warning_file = std::filesystem::path("lefRWarning.log");
99+
if (std::filesystem::exists(warning_file, err_ignored)) {
99100
// file exist, remove it
100101
if (!lefSettings->LogFileAppend) {
101-
remove("lefRWarning.log");
102+
std::filesystem::remove(warning_file, err_ignored);
102103
}
103104
}
104105

0 commit comments

Comments
 (0)