Skip to content

Commit c13144e

Browse files
authored
Don't crash if output subdirectories already exist
See doxygen#7860
1 parent d0f24b7 commit c13144e

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/util.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5023,15 +5023,19 @@ void createSubDirs(QDir &d)
50235023
int l1,l2;
50245024
for (l1=0;l1<16;l1++)
50255025
{
5026-
if (!d.mkdir(QCString().sprintf("d%x",l1)))
5026+
QCString subdir;
5027+
subdir.sprintf("d%x",l1);
5028+
if (!d.exists(subdir) && !d.mkdir(subdir))
50275029
{
5028-
term("Failed to create output directory '%s'\n",(QCString().sprintf("d%x",l1)).data());
5030+
term("Failed to create output directory '%s'\n",subdir.data());
50295031
}
50305032
for (l2=0;l2<256;l2++)
50315033
{
5032-
if (!d.mkdir(QCString().sprintf("d%x/d%02x",l1,l2)))
5034+
QCString subsubdir;
5035+
subsubdir.sprintf("d%x/d%02x",l1,l2);
5036+
if (!d.exists(subsubdir) && !d.mkdir(subsubdir))
50335037
{
5034-
term("Failed to create output directory '%s'\n",(QCString().sprintf("d%x/d%02x",l1,l2)).data());
5038+
term("Failed to create output directory '%s'\n",subsubdir.data());
50355039
}
50365040
}
50375041
}

0 commit comments

Comments
 (0)