Summary: | ASTERISK-04485: [patch] simplified string handling in cdr_pgsql and cdr_odbc | ||
Reporter: | Luigi Rizzo (rizzo) | Labels: | |
Date Opened: | 2005-06-26 08:11:54 | Date Closed: | 2008-01-15 15:40:45.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) cdr.diff | |
Description: | the code in these two files use some convoluted strategy to handle char * that could be malloced or constant. This patch (untested) largely simplifies it by always mallocing -- the overhead is an extra 30-40 bytes for the default strings that we only pay once at module loading. Surely the code shrinks by a lot more. On passing. note that SQLConnect might be called with NULL pointers for username and password. The online doc does not tell if this is legal or not, but the pgsql equivalent code takes care to supply default strings. ****** ADDITIONAL INFORMATION ****** The code could be simplified even more by remembering that after unload, variables in the module are not used anymore so it is pointless to reset them to NULL. I will leave this optimization to the commiter. | ||
Comments: | By: Kevin P. Fleming (kpfleming) 2005-07-11 16:58:39 Committed to CVS HEAD with two bug fixes, and with the excess variable resetting removed as well. Thanks! By: Digium Subversion (svnbot) 2008-01-15 15:40:45.000-0600 Repository: asterisk Revision: 6085 U trunk/cdr/cdr_odbc.c U trunk/cdr/cdr_pgsql.c ------------------------------------------------------------------------ r6085 | kpfleming | 2008-01-15 15:40:44 -0600 (Tue, 15 Jan 2008) | 3 lines remove complex malloc-avoidance (bug ASTERISK-4485) remove resetting of variables during unload that will only be freed or set to known values on reload ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=6085 |