Use setpriority() instead of nice() on UNIX-like systems.
[tinc] / src / tincd.c
index a8e5559..7758151 100644 (file)
@@ -221,7 +221,9 @@ static bool parse_options(int argc, char **argv) {
                                break;
 
                        case 'n':                               /* net name given */
-                               netname = xstrdup(optarg);
+                               /* netname "." is special: a "top-level name" */
+                               netname = strcmp(optarg, ".") != 0 ?
+                                               xstrdup(optarg) : NULL;
                                break;
 
                        case 'o':                               /* option */
@@ -365,6 +367,7 @@ static bool keygen(int bits) {
        fchmod(fileno(f), 0600);
 #endif
                
+       fputc('\n', f);
        PEM_write_RSAPrivateKey(f, rsa_key, NULL, NULL, 0, NULL, NULL);
        fclose(f);
        free(filename);
@@ -382,6 +385,7 @@ static bool keygen(int bits) {
        if(disable_old_keys(f))
                fprintf(stderr, "Warning: old key(s) found and disabled.\n");
 
+       fputc('\n', f);
        PEM_write_RSAPublicKey(f, rsa_key);
        fclose(f);
        free(filename);
@@ -498,12 +502,12 @@ static bool drop_privs() {
 }
 
 #ifdef HAVE_MINGW
-# define setpriority(level) SetPriorityClass(GetCurrentProcess(), level)
+# define setpriority(level) SetPriorityClass(GetCurrentProcess(), (level))
 #else
 # define NORMAL_PRIORITY_CLASS 0
 # define BELOW_NORMAL_PRIORITY_CLASS 10
 # define HIGH_PRIORITY_CLASS -10
-# define setpriority(level) nice(level)
+# define setpriority(level) (setpriority(PRIO_PROCESS, 0, (level)))
 #endif
 
 int main(int argc, char **argv) {