From: Anthony Minessale Date: Thu, 18 Mar 2010 22:12:51 +0000 (+0000) Subject: finish up vm changes X-Git-Tag: v1.0.6~118 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8838c4d024b8a80a194c24fad763b5989fdd3f9b;p=thirdparty%2Ffreeswitch.git finish up vm changes git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@17047 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c index 918cdd690e..90c17c5d4c 100644 --- a/src/mod/applications/mod_voicemail/mod_voicemail.c +++ b/src/mod/applications/mod_voicemail/mod_voicemail.c @@ -4014,6 +4014,14 @@ SWITCH_STANDARD_API(voicemail_read_api_function) if (e && (p = strchr(e, ' '))) { *p++ = '\0'; ru = e = p; + } + + if (e && (p = strchr(e, ' '))) { + *p++ = '\0'; + uuid = p; + } + + if (ru) { if (!strcasecmp(ru, "read")) { mread = 1; } else if (!strcasecmp(ru, "unread")) { @@ -4023,13 +4031,6 @@ SWITCH_STANDARD_API(voicemail_read_api_function) } } - if (mread > -1) { - if (e && (p = strchr(e, ' '))) { - *p++ = '\0'; - uuid = p; - } - } - if (mread > -1 && id && domain && profile_name && (profile = get_profile(profile_name))) { @@ -4094,7 +4095,7 @@ static int api_list_callback(void *pArg, int argc, char **argv, char **columnNam SWITCH_STANDARD_API(voicemail_list_api_function) { char *sql; - char *id = NULL, *domain = NULL, *format = "text", *profile_name = "default"; + char *id = NULL, *uuid = NULL, *domain = NULL, *format = "text", *profile_name = "default"; char *p, *e = NULL; vm_profile_t *profile; @@ -4117,13 +4118,24 @@ SWITCH_STANDARD_API(voicemail_list_api_function) if (e && (p = strchr(e, ' '))) { *p++ = '\0'; - format = p; + format = e = p; + } + + if (e && (p = strchr(e, ' '))) { + *p++ = '\0'; + uuid = p; } if (id && domain && profile_name && (profile = get_profile(profile_name))) { - sql = switch_mprintf("select created_epoch, read_epoch, username, domain, in_folder, file_path, uuid, cid_name, cid_number, " - "'%q' from voicemail_msgs where username='%q' and domain='%q'", - format, id, domain); + if (uuid) { + sql = switch_mprintf("select created_epoch, read_epoch, username, domain, in_folder, file_path, uuid, cid_name, cid_number, " + "'%q' from voicemail_msgs where username='%q' and domain='%q' and uuid='%q'", + format, id, domain, uuid); + } else { + sql = switch_mprintf("select created_epoch, read_epoch, username, domain, in_folder, file_path, uuid, cid_name, cid_number, " + "'%q' from voicemail_msgs where username='%q' and domain='%q'", + format, id, domain); + } if (!strcasecmp(format, "xml")) { stream->write_function(stream, "\n");