- if (!deflt.empty() && deflt.absFilename() != "/tmp") {
- if (mkdir(deflt, 0777)) {
- if (deflt.isDirWritable()) {
- // deflt could not be created because it
- // did exist already, so let's create our own
- // dir inside deflt.
- return createTmpDir(deflt, "lyx_tmpdir");
- } else {
- // some other error occured.
- return createTmpDir(FileName("/tmp"), "lyx_tmpdir");
- }
- } else
- return deflt;
+ if (deflt.empty() || deflt.absFilename() == "/tmp")
+ return createTmpDir(FileName("/tmp"), "lyx_tmpdir");
+
+ if (!mkdir(deflt, 0777))
+ return deflt;
+
+ if (deflt.isDirWritable()) {
+ // deflt could not be created because it
+ // did exist already, so let's create our own
+ // dir inside deflt.
+ return createTmpDir(deflt, "lyx_tmpdir");