From: Kevin P. Fleming Date: Wed, 20 Jul 2005 00:38:20 +0000 (+0000) Subject: add ActionID output and lock CLI fd for Manager action DBGet (bug #4727) X-Git-Tag: 1.2.0-beta1~232 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dc648f7334f83a7233b1cd4e4a7c64ebd814a3ef;p=thirdparty%2Fasterisk.git add ActionID output and lock CLI fd for Manager action DBGet (bug #4727) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6175 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/db.c b/db.c index 707f57e2bf..0e46604643 100755 --- a/db.c +++ b/db.c @@ -529,6 +529,8 @@ static int manager_dbput(struct mansession *s, struct message *m) static int manager_dbget(struct mansession *s, struct message *m) { + char *id = astman_get_header(m,"ActionID"); + char idText[256] = ""; char *family = astman_get_header(m, "Family"); char *key = astman_get_header(m, "Key"); char tmp[256]; @@ -543,16 +545,23 @@ static int manager_dbget(struct mansession *s, struct message *m) return 0; } + if (id && !ast_strlen_zero(id)) + snprintf(idText, sizeof(idText) ,"ActionID: %s\r\n", id); + res = ast_db_get(family, key, tmp, sizeof(tmp)); if (res) { astman_send_error(s, m, "Database entry not found"); } else { astman_send_ack(s, m, "Result will follow"); + ast_mutex_lock(&s->lock); ast_cli(s->fd, "Event: DBGetResponse\r\n" "Family: %s\r\n" "Key: %s\r\n" - "Val: %s\r\n\r\n", - family, key, tmp); + "Val: %s\r\n" + "%s" + "\r\n", + family, key, tmp, idText); + ast_mutex_unlock(&s->lock); } return 0; }