X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=cgi%2Fhashquery.c;h=d750608b812342cc9160c70bc574ab73b42e0294;hb=9aadc77b48c7826015f8ec87cebdc15d012c5f14;hp=a8ca3d06109d0b909a80c6aaa7ef4c84f6db65e9;hpb=c0fee41b459cc3822d890bac98882a6c9696c033;p=onak.git diff --git a/cgi/hashquery.c b/cgi/hashquery.c index a8ca3d0..d750608 100644 --- a/cgi/hashquery.c +++ b/cgi/hashquery.c @@ -23,6 +23,7 @@ #include #include +#include "build-config.h" #include "charfuncs.h" #include "cleanup.h" #include "keydb.h" @@ -40,7 +41,7 @@ void doerror(char *error) exit(EXIT_FAILURE); } -int main(int argc, char *argv[]) +int main(__unused int argc, __unused char *argv[]) { char *request_method, *env; int count, found, i; @@ -73,7 +74,7 @@ int main(int argc, char *argv[]) } hashes = (uint8_t **) unmarshal_array(buffer_fetchchar, &cgipostbuf, - (void * (*)(int (*)(void *, size_t, void *), void *)) + (void * (*)(size_t (*)(void *, size_t, void *), void *)) unmarshal_skshash, &count); free(cgipostbuf.buffer); @@ -93,6 +94,10 @@ int main(int argc, char *argv[]) catchsignals(); dbctx = config.dbinit(config.backend, false); + if (dbctx == NULL) { + doerror("Failed to open key database."); + } + if (dbctx->fetch_key_skshash == NULL) { dbctx->cleanupdb(dbctx); doerror("Can't fetch by skshash with this backend."); @@ -114,7 +119,7 @@ int main(int argc, char *argv[]) puts("Content-Type: pgp/keys\n"); marshal_array(stdout_putchar, NULL, - (void (*)(int (*)(void *, size_t, void *), + (void (*)(size_t (*)(void *, size_t, void *), void *, const void *)) marshal_publickey, (void **) keys, found); printf("\n");