# HG changeset patch # User Tero Marttila # Date 1235280088 -7200 # Node ID 240ae8482d649748faad9e674b9bf8c4d355daed # Parent a09a0797f6f05648a7a6340dec725cd31d811a95 add error_name function diff -r a09a0797f6f0 -r 240ae8482d64 Makefile --- a/Makefile Sun Feb 22 07:08:57 2009 +0200 +++ b/Makefile Sun Feb 22 07:21:28 2009 +0200 @@ -30,6 +30,7 @@ # modules module_objs = $(patsubst src/%.c,obj/%.o,$(wildcard src/$(1)/*.c)) +CORE_OBJS = obj/error.o SOCK_OBJS = obj/sock.o obj/sock_tcp.o SOCK_GNUTLS_OBJS = obj/sock_gnutls.o @@ -40,7 +41,7 @@ all: ${BIN_PATHS} # binaries -bin/nexus: ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} +bin/nexus: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} # computed CFLAGS = ${MODE_CFLAGS} ${FIXED_CFLAGS} ${LIBEVENT_CFLAGS} ${GNUTLS_CFLAGS} diff -r a09a0797f6f0 -r 240ae8482d64 src/error.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/error.c Sun Feb 22 07:21:28 2009 +0200 @@ -0,0 +1,28 @@ + +#include "error.h" + +/* + * Helper macros + */ +#define ERROR_NAME(code, name) case code: return name + +const char *error_name (err_t code) +{ + switch (code) { + ERROR_NAME( ERR_CALLOC, "calloc" ); + ERROR_NAME( ERR_GETADDRINFO, "getaddrinfo" ); + ERROR_NAME( ERR_GETADDRINFO_EMPTY, "getaddrinfo" ); + ERROR_NAME( ERR_SOCKET, "socket" ); + ERROR_NAME( ERR_CONNECT, "connect" ); + ERROR_NAME( ERR_READ, "read" ); + ERROR_NAME( ERR_WRITE, "write" ); + ERROR_NAME( ERR_GNUTLS_CERT_ALLOC_CRED, "gnutls_certificate_allocate_credentials" ); + ERROR_NAME( ERR_GNUTLS_GLOBAL_INIT, "gnutls_global_init" ); + ERROR_NAME( ERR_GNUTLS_INIT, "gnutls_init" ); + ERROR_NAME( ERR_GNUTLS_SET_DEFAULT_PRIORITY, "gnutls_set_default_priority" ); + ERROR_NAME( ERR_GNUTLS_CRED_SET, "gnutls_credentials_set" ); + ERROR_NAME( ERR_GNUTLS_HANDSHAKE, "gnutls_handshake" ); + default: return "[unknown]"; + } +} + diff -r a09a0797f6f0 -r 240ae8482d64 src/error.h --- a/src/error.h Sun Feb 22 07:08:57 2009 +0200 +++ b/src/error.h Sun Feb 22 07:21:28 2009 +0200 @@ -51,6 +51,11 @@ unsigned int extra; }; +/* + * Translate an err_t into a string. + */ +const char *error_name (err_t code); + /** No error, evaulates as logical false */ #define SUCCESS (0) diff -r a09a0797f6f0 -r 240ae8482d64 src/nexus.c --- a/src/nexus.c Sun Feb 22 07:08:57 2009 +0200 +++ b/src/nexus.c Sun Feb 22 07:21:28 2009 +0200 @@ -11,7 +11,7 @@ #include "sock.h" #define CONNECT_HOST "irc.fixme.fi" -#define CONNECT_SERV "6667" +#define CONNECT_SERV "6697" #define LINE_LENGTH 512 struct recvline_state { @@ -112,15 +112,13 @@ // initialize if (sock_init(&err)) - // XXX: ... - errx(1, "sock_init"); + errx(1, "sock_init: %s", error_name(ERROR_CODE(&err))); memset(&recvline_ctx, 0, sizeof(recvline_ctx)); // over-simplified connect if (sock_gnutls_connect(&sock, CONNECT_HOST, CONNECT_SERV, &err)) - // XXX: - errx(1, "sock_gnutls_connect"); + errx(1, "sock_gnutls_connect: %s", error_name(ERROR_CODE(&err))); // read lines and dump them out do {