diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-20 00:38:20 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-20 00:38:20 +0000 |
commit | 8103f9c0f80e672899db6e2c74c8b437b441b656 (patch) | |
tree | d25aec4d8e1a1629c00f87e0d73aa814109ea8e1 /db.c | |
parent | 0414f4361d8f4575a94ed0484edac9872c6df686 (diff) |
add ActionID output and lock CLI fd for Manager action DBGet (bug #4727)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6175 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'db.c')
-rwxr-xr-x | db.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -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; } |