Index: res/res_config_sqlite.c =================================================================== --- res/res_config_sqlite.c (revision 131605) +++ res/res_config_sqlite.c (working copy) @@ -504,9 +504,10 @@ */ /*! SQL query format to create the CDR table if non existent. */ -static char *sql_create_cdr_table = +static const char *sql_create_cdr_table = "CREATE TABLE '%q' (\n" " id INTEGER,\n" +" calldate DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n" " clid VARCHAR(80) NOT NULL DEFAULT '',\n" " src VARCHAR(80) NOT NULL DEFAULT '',\n" " dst VARCHAR(80) NOT NULL DEFAULT '',\n" @@ -515,7 +516,6 @@ " dstchannel VARCHAR(80) NOT NULL DEFAULT '',\n" " lastapp VARCHAR(80) NOT NULL DEFAULT '',\n" " lastdata VARCHAR(80) NOT NULL DEFAULT '',\n" -" start DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n" " answer DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n" " end DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n" " duration INT(11) NOT NULL DEFAULT 0,\n" @@ -529,8 +529,9 @@ ");"; /*! SQL query format to insert a CDR entry. */ -static char *sql_add_cdr_entry = +static const char *sql_add_cdr_entry = "INSERT INTO '%q' (" +" calldate," " clid," " src," " dst," @@ -539,7 +540,6 @@ " dstchannel," " lastapp," " lastdata," -" start," " answer," " end," " duration," @@ -550,6 +550,7 @@ " uniqueid," " userfield" ") VALUES (" +" datetime(%d,'unixepoch','localtime')," " '%q'," " '%q'," " '%q'," @@ -560,11 +561,10 @@ " '%q'," " datetime(%d,'unixepoch','localtime')," " datetime(%d,'unixepoch','localtime')," -" datetime(%d,'unixepoch','localtime')," " '%ld'," " '%ld'," +" '%q'," " '%ld'," -" '%ld'," " '%q'," " '%q'," " '%q'" @@ -576,7 +576,7 @@ * * \see add_cfg_entry() */ -static char *sql_get_config_table = +static const char *sql_get_config_table = "SELECT *" " FROM '%q'" " WHERE filename = '%q' AND commented = 0" @@ -660,13 +660,13 @@ char *query, *errormsg; int error; - query = sqlite_mprintf(sql_add_cdr_entry, cdr_table, cdr->clid, - cdr->src, cdr->dst, cdr->dcontext, cdr->channel, - cdr->dstchannel, cdr->lastapp, cdr->lastdata, - cdr->start.tv_sec, cdr->answer.tv_sec, - cdr->end.tv_sec, cdr->duration, cdr->billsec, - cdr->disposition, cdr->amaflags, cdr->accountcode, - cdr->uniqueid, cdr->userfield); + query = sqlite_mprintf(sql_add_cdr_entry, cdr_table, cdr->start.tv_sec, + cdr->clid, cdr->src, cdr->dst, cdr->dcontext, + cdr->channel, cdr->dstchannel, cdr->lastapp, + cdr->lastdata, cdr->answer.tv_sec, cdr->end.tv_sec, + cdr->duration, cdr->billsec, + ast_cdr_disp2str(cdr->disposition), cdr->amaflags, + cdr->accountcode, cdr->uniqueid, cdr->userfield); if (!query) { ast_log(LOG_WARNING, "Unable to allocate SQL query\n");