Index: cdr_addon_mysql.c =================================================================== --- cdr_addon_mysql.c (revision 349) +++ cdr_addon_mysql.c (working copy) @@ -118,6 +118,10 @@ struct timeval tv; struct ast_module_user *u; char *userfielddata = NULL; + char *userfielddata2 = NULL; + char *userfielddata3 = NULL; + char *userfielddata4 = NULL; + char *userfielddata5 = NULL; char sqlcmd[2048], timestr[128]; char *clid=NULL, *dcontext=NULL, *channel=NULL, *dstchannel=NULL, *lastapp=NULL, *lastdata=NULL; int retries = 5; @@ -195,6 +199,14 @@ #endif if (userfield && ((userfielddata = alloca(strlen(cdr->userfield) * 2 + 1)) != NULL)) mysql_escape_string(userfielddata, cdr->userfield, strlen(cdr->userfield)); + if (userfield && ((userfielddata2 = alloca(strlen(cdr->userfield2) * 2 + 1)) != NULL)) + mysql_escape_string(userfielddata2, cdr->userfield2, strlen(cdr->userfield2)); + if (userfield && ((userfielddata3 = alloca(strlen(cdr->userfield3) * 2 + 1)) != NULL)) + mysql_escape_string(userfielddata3, cdr->userfield3, strlen(cdr->userfield3)); + if (userfield && ((userfielddata4 = alloca(strlen(cdr->userfield4) * 2 + 1)) != NULL)) + mysql_escape_string(userfielddata4, cdr->userfield4, strlen(cdr->userfield4)); + if (userfield && ((userfielddata5 = alloca(strlen(cdr->userfield5) * 2 + 1)) != NULL)) + mysql_escape_string(userfielddata5, cdr->userfield5, strlen(cdr->userfield5)); /* Check for all alloca failures above at once */ #ifdef MYSQL_LOGUNIQUEID @@ -213,7 +225,7 @@ #ifdef MYSQL_LOGUNIQUEID sprintf(sqlcmd, "INSERT INTO %s (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid,userfield) VALUES ('%s','%s','%s','%s','%s', '%s','%s','%s','%s',%i,%i,'%s',%i,'%s','%s','%s')", dbtable, timestr, clid, cdr->src, cdr->dst, dcontext, channel, dstchannel, lastapp, lastdata, cdr->duration, cdr->billsec, ast_cdr_disp2str(cdr->disposition), cdr->amaflags, cdr->accountcode, uniqueid, userfielddata); #else - sprintf(sqlcmd, "INSERT INTO %s (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,userfield) VALUES ('%s','%s','%s','%s','%s', '%s','%s','%s','%s',%i,%i,'%s',%i,'%s','%s')", dbtable, timestr, clid, cdr->src, cdr->dst, dcontext,channel, dstchannel, lastapp, lastdata, cdr->duration, cdr->billsec, ast_cdr_disp2str(cdr->disposition), cdr->amaflags, cdr->accountcode, userfielddata); + sprintf(sqlcmd, "INSERT INTO %s (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,userfield,userfield2,userfield3,userfield4,userfield5) VALUES ('%s','%s','%s','%s','%s', '%s','%s','%s','%s',%i,%i,'%s',%i,'%s','%s','%s','%s','%s','%s')", dbtable, timestr, clid, cdr->src, cdr->dst, dcontext,channel, dstchannel, lastapp, lastdata, cdr->duration, cdr->billsec, ast_cdr_disp2str(cdr->disposition), cdr->amaflags, cdr->accountcode, userfielddata, userfielddata2,userfielddata3,userfielddata4,userfielddata5); #endif } else { #ifdef MYSQL_LOGUNIQUEID