Fix encoding of custom prepare extra data.

Patches:
	res_config_odbc-take2.patch by John Hardin (License #6512)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/98/198/1
Mark Michelson 12 years ago
parent b7b11ef2f0
commit afecc456ad

@ -137,13 +137,13 @@ static SQLHSTMT custom_prepare(struct odbc_obj *obj, void *data)
va_end(ap);
if (!ast_strlen_zero(cps->extra)) {
if (strchr(cps->extra, ';') || strchr(cps->extra, '^')) {
ENCODE_CHUNK(encodebuf, cps->extra);
SQLBindParameter(stmt, x++, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, strlen(encodebuf), 0, (void *)encodebuf, 0, NULL);
const char *newval = cps->extra;
if (strchr(newval, ';') || strchr(newval, '^')) {
ENCODE_CHUNK(encodebuf, newval);
ast_string_field_set(cps, encoding[x], encodebuf);
newval = cps->encoding[x];
}
else {
SQLBindParameter(stmt, x++, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, strlen(cps->extra), 0, (void *)cps->extra, 0, NULL);
}
SQLBindParameter(stmt, x++, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, strlen(newval), 0, (void *)newval, 0, NULL);
}
return stmt;

Loading…
Cancel
Save