Figure out absolute path for the pid file before daemonizing
authorJouni Malinen <j@w1.fi>
Sat, 15 Aug 2009 17:09:24 +0000 (20:09 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 15 Aug 2009 17:09:24 +0000 (20:09 +0300)
This allows relative path to be used in the same way as was already
supported by wpa_supplicant.

hostapd/main.c

index 51bfd3b..b582b2d 100644 (file)
@@ -393,7 +393,7 @@ int main(int argc, char *argv[])
        int ret = 1;
        size_t i;
        int c, debug = 0, daemonize = 0;
-       const char *pid_file = NULL;
+       char *pid_file = NULL;
 
        for (;;) {
                c = getopt(argc, argv, "BdhKP:tv");
@@ -415,7 +415,8 @@ int main(int argc, char *argv[])
                        wpa_debug_show_keys++;
                        break;
                case 'P':
-                       pid_file = optarg;
+                       os_free(pid_file);
+                       pid_file = os_rel2abs_path(optarg);
                        break;
                case 't':
                        wpa_debug_timestamp++;
@@ -459,6 +460,7 @@ int main(int argc, char *argv[])
        ret = 0;
 
  out:
+       os_free(pid_file);
        /* Deinitialize all interfaces */
        for (i = 0; i < interfaces.count; i++)
                hostapd_interface_deinit(interfaces.iface[i]);