aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-09 16:19:00 +0000
committercitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-09 16:19:00 +0000
commit93aaba701e652ac3542996dff3df374c6b0fe3f1 (patch)
treed44952c807ebd8206e2eaf4a2c38f76bed42461b
parent9a26fd29290e9ddc4f988536c421834a970b2053 (diff)
Fixes from bkw_. Formatting in app_db.c and handle start right in cdr_pgsql.c
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3415 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xapps/app_db.c393
-rwxr-xr-xcdr/cdr_pgsql.c8
2 files changed, 169 insertions, 232 deletions
diff --git a/apps/app_db.c b/apps/app_db.c
index 26af2c41b..325b06bbb 100755
--- a/apps/app_db.c
+++ b/apps/app_db.c
@@ -30,21 +30,21 @@
static char *tdesc = "Database access functions for Asterisk extension logic";
static char *g_descrip =
- " DBget(varname=family/key): Retrieves a value from the Asterisk\n"
- "database and stores it in the given variable. Always returns 0. If the\n"
- "requested key is not found, jumps to priority n+101 if available.\n";
+ " DBget(varname=family/key): Retrieves a value from the Asterisk\n"
+ "database and stores it in the given variable. Always returns 0. If the\n"
+ "requested key is not found, jumps to priority n+101 if available.\n";
static char *p_descrip =
- " DBput(family/key=value): Stores the given value in the Asterisk\n"
- "database. Always returns 0.\n";
+ " DBput(family/key=value): Stores the given value in the Asterisk\n"
+ "database. Always returns 0.\n";
static char *d_descrip =
- " DBdel(family/key): Deletes a key from the Asterisk database. Always\n"
- "returns 0.\n";
+ " DBdel(family/key): Deletes a key from the Asterisk database. Always\n"
+ "returns 0.\n";
static char *dt_descrip =
- " DBdeltree(family[/keytree]): Deletes a family or keytree from the Asterisk\n"
- "database. Always returns 0.\n";
+ " DBdeltree(family[/keytree]): Deletes a family or keytree from the Asterisk\n"
+ "database. Always returns 0.\n";
static char *g_app = "DBget";
static char *p_app = "DBput";
@@ -60,255 +60,196 @@ STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
-
-static int
-deltree_exec (struct ast_channel *chan, void *data)
+static int deltree_exec (struct ast_channel *chan, void *data)
{
- int arglen;
- char *argv, *family, *keytree;
-
- arglen = strlen (data);
- argv = alloca (arglen + 1);
- if (!argv) /* Why would this fail? */
- {
- ast_log (LOG_DEBUG, "Memory allocation failed\n");
- return 0;
- }
- memcpy (argv, data, arglen + 1);
-
- if (strchr (argv, '/')) {
- {
- family = strsep (&argv, "/");
- keytree = strsep (&argv, "\0");
- if (!family || !keytree)
- {
- ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
- return 0;
+ int arglen;
+ char *argv, *family, *keytree;
+
+ arglen = strlen (data);
+ argv = alloca (arglen + 1);
+ if (!argv) { /* Why would this fail? */
+ ast_log (LOG_DEBUG, "Memory allocation failed\n");
+ return 0;
+ }
+ memcpy (argv, data, arglen + 1);
+
+ if (strchr (argv, '/')) {
+ family = strsep (&argv, "/");
+ keytree = strsep (&argv, "\0");
+ if (!family || !keytree) {
+ ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
+ return 0;
+ }
+ if (!strlen (keytree))
+ keytree = 0;
+ } else {
+ family = argv;
+ keytree = 0;
}
- if (!strlen (keytree))
- keytree = 0;
- }
- } else
- {
- family = argv;
- keytree = 0;
- }
-
- if (option_verbose > 2)
- {
- if (keytree)
- ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: family=%s, keytree=%s\n",
- family, keytree);
- else
- ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: family=%s\n", family);
- }
-
- if (ast_db_deltree (family, keytree))
- {
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBdeltree: Error deleting key from database.\n");
- }
-
- return 0;
-}
-
-static int
-del_exec (struct ast_channel *chan, void *data)
-{
- int arglen;
- char *argv, *family, *key;
-
- arglen = strlen (data);
- argv = alloca (arglen + 1);
- if (!argv) /* Why would this fail? */
- {
- ast_log (LOG_DEBUG, "Memory allocation failed\n");
- return 0;
- }
- memcpy (argv, data, arglen + 1);
-
- if (strchr (argv, '/'))
- {
- family = strsep (&argv, "/");
- key = strsep (&argv, "\0");
- if (!family || !key)
- {
- ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
- return 0;
+ if (option_verbose > 2) {
+ if (keytree)
+ ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: family=%s, keytree=%s\n", family, keytree);
+ else
+ ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: family=%s\n", family);
}
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBdel: family=%s, key=%s\n", family, key);
- if (ast_db_del (family, key))
- {
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBdel: Error deleting key from database.\n");
+
+ if (ast_db_deltree (family, keytree)) {
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: Error deleting key from database.\n");
}
- }
- else
- {
- ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
- }
- return 0;
+ return 0;
}
-static int
-put_exec (struct ast_channel *chan, void *data)
+static int del_exec (struct ast_channel *chan, void *data)
{
- int arglen;
- char *argv, *value, *family, *key;
-
- arglen = strlen (data);
- argv = alloca (arglen + 1);
- if (!argv) /* Why would this fail? */
- {
- ast_log (LOG_DEBUG, "Memory allocation failed\n");
- return 0;
- }
- memcpy (argv, data, arglen + 1);
-
- if (strchr (argv, '/') && strchr (argv, '='))
- {
- family = strsep (&argv, "/");
- key = strsep (&argv, "=");
- value = strsep (&argv, "\0");
- if (!value || !family || !key)
- {
- ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
- return 0;
+ int arglen;
+ char *argv, *family, *key;
+
+ arglen = strlen (data);
+ argv = alloca (arglen + 1);
+ if (!argv) { /* Why would this fail? */
+ ast_log (LOG_DEBUG, "Memory allocation failed\n");
+ return 0;
}
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBput: family=%s, key=%s, value=%s\n", family, key,
- value);
- if (ast_db_put (family, key, value))
- {
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBput: Error writing value to database.\n");
+ memcpy (argv, data, arglen + 1);
+
+ if (strchr (argv, '/')) {
+ family = strsep (&argv, "/");
+ key = strsep (&argv, "\0");
+ if (!family || !key) {
+ ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
+ return 0;
+ }
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBdel: family=%s, key=%s\n", family, key);
+ if (ast_db_del (family, key)) {
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBdel: Error deleting key from database.\n");
+ }
+ } else {
+ ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
}
-
- }
- else
- {
- ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
- }
-
- return 0;
+ return 0;
}
-static int
-get_exec (struct ast_channel *chan, void *data)
+static int put_exec (struct ast_channel *chan, void *data)
{
- int arglen;
- char *argv, *varname, *family, *key;
- char dbresult[256];
-
- arglen = strlen (data);
- argv = alloca (arglen + 1);
- if (!argv) /* Why would this fail? */
- {
- ast_log (LOG_DEBUG, "Memory allocation failed\n");
- return 0;
- }
- memcpy (argv, data, arglen + 1);
-
- if (strchr (argv, '=') && strchr (argv, '/'))
- {
- varname = strsep (&argv, "=");
- family = strsep (&argv, "/");
- key = strsep (&argv, "\0");
- if (!varname || !family || !key)
- {
- ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
- return 0;
- }
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBget: varname=%s, family=%s, key=%s\n", varname,
- family, key);
- if (!ast_db_get (family, key, dbresult, sizeof (dbresult) - 1))
- {
- pbx_builtin_setvar_helper (chan, varname, dbresult);
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBget: set variable %s to %s\n", varname, dbresult);
+ int arglen;
+ char *argv, *value, *family, *key;
+
+ arglen = strlen (data);
+ argv = alloca (arglen + 1);
+ if (!argv) { /* Why would this fail? */
+ ast_log (LOG_DEBUG, "Memory allocation failed\n");
+ return 0;
}
- else
- {
- if (option_verbose > 2)
- ast_verbose (VERBOSE_PREFIX_3
- "DBget: Value not found in database.\n");
- /* Send the call to n+101 priority, where n is the current priority */
- if (ast_exists_extension
- (chan, chan->context, chan->exten, chan->priority + 101,
- chan->callerid))
- chan->priority += 100;
+ memcpy (argv, data, arglen + 1);
+
+ if (strchr (argv, '/') && strchr (argv, '=')) {
+ family = strsep (&argv, "/");
+ key = strsep (&argv, "=");
+ value = strsep (&argv, "\0");
+ if (!value || !family || !key) {
+ ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
+ return 0;
+ }
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBput: family=%s, key=%s, value=%s\n", family, key, value);
+ if (ast_db_put (family, key, value)) {
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBput: Error writing value to database.\n");
+ }
+
+ } else {
+ ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
}
+ return 0;
+}
- }
- else
- {
- ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
- }
-
- return 0;
+static int get_exec (struct ast_channel *chan, void *data)
+{
+ int arglen;
+ char *argv, *varname, *family, *key;
+ char dbresult[256];
+
+ arglen = strlen (data);
+ argv = alloca (arglen + 1);
+ if (!argv) { /* Why would this fail? */
+ ast_log (LOG_DEBUG, "Memory allocation failed\n");
+ return 0;
+ }
+ memcpy (argv, data, arglen + 1);
+
+ if (strchr (argv, '=') && strchr (argv, '/')) {
+ varname = strsep (&argv, "=");
+ family = strsep (&argv, "/");
+ key = strsep (&argv, "\0");
+ if (!varname || !family || !key) {
+ ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
+ return 0;
+ }
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBget: varname=%s, family=%s, key=%s\n", varname, family, key);
+ if (!ast_db_get (family, key, dbresult, sizeof (dbresult) - 1)) {
+ pbx_builtin_setvar_helper (chan, varname, dbresult);
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBget: set variable %s to %s\n", varname, dbresult);
+ } else {
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "DBget: Value not found in database.\n");
+ /* Send the call to n+101 priority, where n is the current priority */
+ if (ast_exists_extension (chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
+ chan->priority += 100;
+ }
+
+ } else {
+ ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
+ }
+ return 0;
}
-int
-unload_module (void)
+int unload_module (void)
{
- int retval;
+ int retval;
- STANDARD_HANGUP_LOCALUSERS;
- retval = ast_unregister_application (dt_app);
- retval |= ast_unregister_application (d_app);
- retval |= ast_unregister_application (p_app);
- retval |= ast_unregister_application (g_app);
+ STANDARD_HANGUP_LOCALUSERS;
+ retval = ast_unregister_application (dt_app);
+ retval |= ast_unregister_application (d_app);
+ retval |= ast_unregister_application (p_app);
+ retval |= ast_unregister_application (g_app);
- return retval;
+ return retval;
}
-int
-load_module (void)
+int load_module (void)
{
- int retval;
-
- retval = ast_register_application (g_app, get_exec, g_synopsis, g_descrip);
- if (!retval)
- retval =
- ast_register_application (p_app, put_exec, p_synopsis, p_descrip);
- if (!retval)
- retval =
- ast_register_application (d_app, del_exec, d_synopsis, d_descrip);
- if (!retval)
- retval =
- ast_register_application (dt_app, deltree_exec, dt_synopsis,
- dt_descrip);
-
- return retval;
+ int retval;
+
+ retval = ast_register_application (g_app, get_exec, g_synopsis, g_descrip);
+ if (!retval)
+ retval = ast_register_application (p_app, put_exec, p_synopsis, p_descrip);
+ if (!retval)
+ retval = ast_register_application (d_app, del_exec, d_synopsis, d_descrip);
+ if (!retval)
+ retval = ast_register_application (dt_app, deltree_exec, dt_synopsis, dt_descrip);
+ return retval;
}
-char *
-description (void)
+char *description (void)
{
- return tdesc;
+ return tdesc;
}
-int
-usecount (void)
+int usecount (void)
{
- int res;
- STANDARD_USECOUNT (res);
- return res;
+ int res;
+ STANDARD_USECOUNT (res);
+ return res;
}
-char *
-key ()
+char *key ()
{
- return ASTERISK_GPL_KEY;
+ return ASTERISK_GPL_KEY;
}
diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c
index 876ed7f8c..902136c04 100755
--- a/cdr/cdr_pgsql.c
+++ b/cdr/cdr_pgsql.c
@@ -49,18 +49,14 @@ PGresult *result;
static int pgsql_log(struct ast_cdr *cdr)
{
struct tm tm;
- struct timeval tv;
char sqlcmd[2048], timestr[128];
- time_t t;
- char *pgerror;
+ char *pgerror;
ast_mutex_lock(&pgsql_lock);
memset(sqlcmd,0,2048);
- gettimeofday(&tv,NULL);
- t = tv.tv_sec;
- localtime_r(&t,&tm);
+ localtime_r(&cdr->start.tv_sec,&tm);
strftime(timestr,128,DATE_FORMAT,&tm);
if ((!connected) && pghostname && pgdbuser && pgpassword && pgdbname) {