X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fsptps_keypair.c;h=97d51895a4377c1506743e4c55cde8de5c4564b5;hb=a0fbaf0889fda3788943baec80671ecc870a2925;hp=17d26f9342dfbe2542fa95fa774af1da11d046ee;hpb=0fe69908838248c28624beb540257892db6bdcbd;p=tinc diff --git a/src/sptps_keypair.c b/src/sptps_keypair.c index 17d26f93..97d51895 100644 --- a/src/sptps_keypair.c +++ b/src/sptps_keypair.c @@ -45,9 +45,16 @@ static void usage(void) { fprintf(stderr, "Report bugs to tinc@tinc-vpn.org.\n"); } +typedef enum option_t { + OPT_BAD_OPTION = '?', + OPT_LONG_OPTION = 0, + + OPT_HELP = 255, +} option_t; + static struct option const long_options[] = { - {"help", no_argument, NULL, 1}, - {NULL, 0, NULL, 0} + {"help", no_argument, NULL, OPT_HELP}, + {NULL, 0, NULL, 0} }; static int generate_keypair(char *argv[]) { @@ -62,14 +69,14 @@ static int generate_keypair(char *argv[]) { if(fp) { if(!ecdsa_write_pem_private_key(key, fp)) { fprintf(stderr, "Could not write ECDSA private key\n"); - free(key); + ecdsa_free(key); return 1; } fclose(fp); } else { fprintf(stderr, "Could not open '%s' for writing: %s\n", argv[1], strerror(errno)); - free(key); + ecdsa_free(key); return 1; } @@ -80,12 +87,12 @@ static int generate_keypair(char *argv[]) { fprintf(stderr, "Could not write ECDSA public key\n"); } - free(key); + ecdsa_free(key); fclose(fp); return 0; } else { fprintf(stderr, "Could not open '%s' for writing: %s\n", argv[2], strerror(errno)); - free(key); + ecdsa_free(key); return 1; } } @@ -96,15 +103,15 @@ int main(int argc, char *argv[]) { int option_index = 0; while((r = getopt_long(argc, argv, "", long_options, &option_index)) != EOF) { - switch(r) { - case 0: /* long option */ + switch((option_t) r) { + case OPT_LONG_OPTION: break; - case '?': /* wrong options */ + case OPT_BAD_OPTION: usage(); return 1; - case 1: /* help */ + case OPT_HELP: usage(); return 0;