Easy:
#include <cmqstrc.h>
MQCONN(argv[1], &hConn, &mqcc,&mqrc);
printf ("MQ conn to %s cc %i rc %i %s\n",argv[1], mqcc, mqrc,MQRC_STR(mqrc));
cmqstrc.h has code
char *MQRC_STR (MQLONG v)
{
char *c;
switch (v)
{
case 0: c = "MQRC_NONE"; break;
case 2001: c = "MQRC_ALIAS_BASE_Q_TYPE_ERROR"; break;
case 2002: c = "MQRC_ALREADY_CONNECTED"; break;
case 2003: c = "MQRC_BACKED_OUT"; break;
...
You could write an mqstrerror, or mqerror function and include it at linkage time instead of compile time.
One thought on “How do I print the reason string for a reason code in my C program?”