static char *program_name;
+void logger(int level, int priority, const char *format, ...) {
+ va_list ap;
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+}
+
static void usage() {
fprintf(stderr, "Usage: %s [options] private_key_file public_key_file\n\n", program_name);
fprintf(stderr, "Valid options are:\n"
FILE *fp = fopen(argv[1], "w");
if(fp) {
- ecdsa_write_pem_private_key(key, fp);
+ if(!ecdsa_write_pem_private_key(key, fp)) {
+ fprintf(stderr, "Could not write ECDSA private key\n");
+ return 1;
+ }
fclose(fp);
} else {
fprintf(stderr, "Could not open '%s' for writing: %s\n", argv[1], strerror(errno));
fp = fopen(argv[2], "w");
if(fp) {
- ecdsa_write_pem_public_key(key, fp);
+ if(!ecdsa_write_pem_public_key(key, fp))
+ fprintf(stderr, "Could not write ECDSA public key\n");
fclose(fp);
} else {
fprintf(stderr, "Could not open '%s' for writing: %s\n", argv[2], strerror(errno));