X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Ftincctl.c;h=a986af7633e69d9e7cf28b3d6956e9841e1335bd;hp=956771f7a4d0909cb580bc4d2c5ce2b9c39e042e;hb=e11daa264615f6eb5782f1f349b23f47518577dd;hpb=57991e264202ad83e2c1b663777b358bf5573652 diff --git a/src/tincctl.c b/src/tincctl.c index 956771f7..a986af76 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -68,10 +68,6 @@ bool netnamegiven = false; char *scriptinterpreter = NULL; char *scriptextension = ""; -#ifdef HAVE_MINGW -static struct WSAData wsa_state; -#endif - static struct option const long_options[] = { {"config", required_argument, NULL, 'c'}, {"net", required_argument, NULL, 'n'}, @@ -682,14 +678,6 @@ bool connect_tincd(bool verbose) { fclose(f); -#ifdef HAVE_MINGW - if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) { - if(verbose) - fprintf(stderr, "System call `%s' failed: %s", "WSAStartup", winerror(GetLastError())); - return false; - } -#endif - #ifndef HAVE_MINGW struct sockaddr_un sa; sa.sun_family = AF_UNIX; @@ -1618,7 +1606,7 @@ static int cmd_config(int argc, char *argv[]) { if(action < 0 && !removed) { remove(tmpfile); fprintf(stderr, "No configuration variables deleted.\n"); - return *value; + return *value != 0; } // Replace the configuration file with the new one @@ -1751,7 +1739,7 @@ static int cmd_init(int argc, char *argv[]) { return 1; } - if(strcmp(confdir, confbase) && mkdir(confdir, 0755) && errno != EEXIST) { + if(!confbase_given && mkdir(confdir, 0755) && errno != EEXIST) { fprintf(stderr, "Could not create directory %s: %s\n", confdir, strerror(errno)); return 1; } @@ -2366,6 +2354,15 @@ int main(int argc, char *argv[]) { return 0; } +#ifdef HAVE_MINGW + static struct WSAData wsa_state; + + if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) { + fprintf(stderr, "System call `%s' failed: %s", "WSAStartup", winerror(GetLastError())); + return false; + } +#endif + srand(time(NULL)); crypto_init();