Fix compile.
[dhcpcd-ui] / src / dhcpcd-qt / dhcpcd-singleton.cpp
index 6ca87f78e6c1f110340bf45c19174884ffbba646..4094d481ba361e6faa30ce92421dfb70798b7dbf 100644 (file)
@@ -24,6 +24,7 @@
  * SUCH DAMAGE.
  */
 
+#include <sys/stat.h>
 #include <sys/file.h>
 #include <fcntl.h>
 #include <string.h>
@@ -33,6 +34,7 @@
 #include <iostream>
 #include <string>
 
+#include "dhcpcd.h"
 #include "dhcpcd-singleton.h"
 
 using namespace std;
@@ -53,7 +55,16 @@ bool DhcpcdSingleton::lock()
        string file;
        const char *display;
 
-       file = "/tmp/.dhcpcd-qt-";
+       if (mkdir(DHCPCD_TMP_DIR, DHCPCD_TMP_DIR_PERM) == -1 &&
+           errno != EEXIST)
+       {
+               cerr << "dhcpcd-qt: " << "mkdir: " << DHCPCD_TMP_DIR << ": "
+                   << strerror(errno) << endl;
+               return false;
+       }
+
+       file = DHCPCD_TMP_DIR;
+       file += "/dhcpcd-qt-";
        file += getlogin();
        display = getenv("DISPLAY");
        if (display && *display != '\0' && strchr(display, '/') == NULL) {