[Freeswitch-svn] [commit] r2279 - freeswitch/trunk/src/mod/event_handlers/mod_cdr
Freeswitch SVN
mikej at freeswitch.org
Sun Aug 13 00:41:41 EDT 2006
Author: mikej
Date: Sun Aug 13 00:41:40 2006
New Revision: 2279
Modified:
freeswitch/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp
freeswitch/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp
freeswitch/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp
Log:
make mod cdr work on windows, and make it segfault less.
Modified: freeswitch/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp Sun Aug 13 00:41:40 2006
@@ -82,49 +82,55 @@
callanswerdate = newchannel->timetable->answered;
callenddate = newchannel->timetable->hungup;
- if(newchannel->callerprofile->caller_id_name != 0)
- {
- strncpy(clid,newchannel->callerprofile->caller_id_name,strlen(newchannel->callerprofile->caller_id_name));
- strncat(clid," <",2);
- if(newchannel->callerprofile->caller_id_number != 0 )
- strncat(clid,newchannel->callerprofile->caller_id_number,strlen(clid)+strlen(newchannel->callerprofile->caller_id_number));
- strncat(clid,">",1);
- }
+ if (newchannel->callerprofile) {
+ if(newchannel->callerprofile->caller_id_name != 0)
+ {
+ strncpy(clid,newchannel->callerprofile->caller_id_name,strlen(newchannel->callerprofile->caller_id_name));
+ strncat(clid," <",2);
+ if(newchannel->callerprofile->caller_id_number != 0 )
+ strncat(clid,newchannel->callerprofile->caller_id_number,strlen(clid)+strlen(newchannel->callerprofile->caller_id_number));
+ strncat(clid,">",1);
+ }
+
+ // Get the ANI information if it's set
+ if(newchannel->callerprofile->ani != 0)
+ strncpy(ani,newchannel->callerprofile->ani,strlen(newchannel->callerprofile->ani));
+ if(newchannel->callerprofile->ani2 != 0)
+ strncpy(ani2,newchannel->callerprofile->ani2,strlen(newchannel->callerprofile->ani2));
- // Get the ANI information if it's set
- if(newchannel->callerprofile->ani != 0)
- strncpy(ani,newchannel->callerprofile->ani,strlen(newchannel->callerprofile->ani));
- if(newchannel->callerprofile->ani2 != 0)
- strncpy(ani2,newchannel->callerprofile->ani2,strlen(newchannel->callerprofile->ani2));
-
- if(newchannel->callerprofile->dialplan != 0)
- strncpy(dialplan,newchannel->callerprofile->dialplan,strlen(newchannel->callerprofile->dialplan));
-
- if(newchannel->callerprofile->network_addr != 0)
- strncpy(network_addr,newchannel->callerprofile->network_addr,strlen(newchannel->callerprofile->network_addr));
-
+ if(newchannel->callerprofile->dialplan != 0)
+ strncpy(dialplan,newchannel->callerprofile->dialplan,strlen(newchannel->callerprofile->dialplan));
+
+ if(newchannel->callerprofile->network_addr != 0)
+ strncpy(network_addr,newchannel->callerprofile->network_addr,strlen(newchannel->callerprofile->network_addr));
+ }
+
originated = newchannel->originate;
- if(newchannel->originateprofile->uuid != 0)
+ if(newchannel->originateprofile && newchannel->originateprofile->uuid != 0)
strncpy(destuuid,newchannel->originateprofile->uuid,strlen(newchannel->originateprofile->uuid));
// We still need to check if this is originated or not
if(originated == 0)
{
- if(newchannel->callerprofile->destination_number != 0)
- strncpy(src,newchannel->callerprofile->destination_number,strlen(newchannel->callerprofile->destination_number));
- if(newchannel->callerprofile->caller_id_number != 0)
- strncpy(dst,newchannel->callerprofile->caller_id_number,strlen(newchannel->callerprofile->caller_id_number));
- if(newchannel->originateprofile->chan_name != 0)
+ if (newchannel->callerprofile) {
+ if(newchannel->callerprofile->destination_number != 0)
+ strncpy(src,newchannel->callerprofile->destination_number,strlen(newchannel->callerprofile->destination_number));
+ if(newchannel->callerprofile->caller_id_number != 0)
+ strncpy(dst,newchannel->callerprofile->caller_id_number,strlen(newchannel->callerprofile->caller_id_number));
+ }
+ if(newchannel->originateprofile && newchannel->originateprofile->chan_name != 0)
strncpy(dstchannel,newchannel->originateprofile->chan_name,strlen(newchannel->originateprofile->chan_name));
}
else
{
- if(newchannel->callerprofile->caller_id_number != 0)
- strncpy(src,newchannel->callerprofile->caller_id_number,strlen(newchannel->callerprofile->caller_id_number));
- if(newchannel->callerprofile->destination_number != 0)
- strncpy(dst,newchannel->callerprofile->destination_number,strlen(newchannel->callerprofile->destination_number));
- if(newchannel->originateprofile->chan_name != 0)
+ if (newchannel->callerprofile) {
+ if(newchannel->callerprofile->caller_id_number != 0)
+ strncpy(src,newchannel->callerprofile->caller_id_number,strlen(newchannel->callerprofile->caller_id_number));
+ if(newchannel->callerprofile->destination_number != 0)
+ strncpy(dst,newchannel->callerprofile->destination_number,strlen(newchannel->callerprofile->destination_number));
+ }
+ if(newchannel->originateprofile && newchannel->originateprofile->chan_name != 0)
strncpy(dstchannel,newchannel->originateprofile->chan_name,strlen(newchannel->originateprofile->chan_name));
}
Modified: freeswitch/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp Sun Aug 13 00:41:40 2006
@@ -65,7 +65,7 @@
// Format the times
apr_size_t retsizecsd, retsizecad, retsizeced; //csd == callstartdate, cad == callanswerdate, ced == callenddate, ceff == callenddate_forfile
- char format[] = "%F %T";
+ char format[] = "%Y-%m-%d-%H-%M-%S";
switch_strftime(formattedcallstartdate,&retsizecsd,sizeof(formattedcallstartdate),format,&tempcallstart);
switch_strftime(formattedcallanswerdate,&retsizecad,sizeof(formattedcallanswerdate),format,&tempcallanswer);
switch_strftime(formattedcallenddate,&retsizeced,sizeof(formattedcallenddate),format,&tempcallend);
@@ -193,7 +193,7 @@
switch_time_exp_lt(&now_converted,now);
apr_size_t retsize;
- char format[] = "%F %T";
+ char format[] = "%Y-%m-%d-%H-%M-%S";
char formatteddate[100];
memset(formatteddate,0,100);
switch_strftime(formatteddate,&retsize,100,format,&now_converted);
Modified: freeswitch/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp Sun Aug 13 00:41:40 2006
@@ -60,7 +60,7 @@
// Format the times
size_t retsizecsd, retsizecad, retsizeced; //csd == callstartdate, cad == callanswerdate, ced == callenddate, ceff == callenddate_forfile
- char format[] = "%F %T";
+ char format[] = "%Y-%m-%d-%H-%M-%S";
switch_strftime(formattedcallstartdate,&retsizecsd,sizeof(formattedcallstartdate),format,&tempcallstart);
switch_strftime(formattedcallanswerdate,&retsizecad,sizeof(formattedcallanswerdate),format,&tempcallanswer);
switch_strftime(formattedcallenddate,&retsizeced,sizeof(formattedcallenddate),format,&tempcallend);
More information about the Freeswitch-svn
mailing list