diff --git a/include/cspublic.h b/include/cspublic.h index babe40d3d..5a10899ef 100644 --- a/include/cspublic.h +++ b/include/cspublic.h @@ -266,8 +266,10 @@ enum #define CS_CLIENTCHARSET CS_CLIENTCHARSET CS_DATABASE = 9302, #define CS_DATABASE CS_DATABASE - CS_NOTE_EMPTY_DATA = 9303 + CS_NOTE_EMPTY_DATA = 9303, #define CS_NOTE_EMPTY_DATA CS_NOTE_EMPTY_DATA + CS_PRODUCT_NAME = 9304 +#define CS_PRODUCT_NAME CS_PRODUCT_NAME }; /* Arbitrary precision math operators */ diff --git a/src/ctlib/ct.c b/src/ctlib/ct.c index a8ffb93f9..80d239770 100644 --- a/src/ctlib/ct.c +++ b/src/ctlib/ct.c @@ -612,6 +612,13 @@ ct_con_props(CS_CONNECTION * con, CS_INT action, CS_INT property, CS_VOID * buff *out_len = tds_dstr_len(s); strlcpy((char *) buffer, tds_dstr_cstr(s), buflen); break; + case CS_PRODUCT_NAME: + if (out_len) + *out_len = (CS_INT) strlen + (tds->conn->product_name); + strlcpy((char *) buffer, tds->conn->product_name, + buflen); + break; case CS_LOC_PROP: if (buflen != CS_UNUSED || !con->locale || !buffer) return CS_FAIL;