From 531fe4de8fba723bf888db773d271560fefbdf22 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sat, 15 Dec 2007 04:58:44 +0000 Subject: [PATCH] cleanups, simplify odbc ifdefs, remove some unnecessary var declarations, handle return values of unlink, whitespace cleanup. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6804 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_voicemail/mod_voicemail.c | 242 +++++------------- 1 file changed, 65 insertions(+), 177 deletions(-) diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c index 3ba0b968a7..325b6c4870 100644 --- a/src/mod/applications/mod_voicemail/mod_voicemail.c +++ b/src/mod/applications/mod_voicemail/mod_voicemail.c @@ -98,11 +98,7 @@ struct vm_profile { uint32_t record_threshold; uint32_t record_silence_hits; uint32_t record_sample_rate; -#ifdef SWITCH_HAVE_ODBC switch_odbc_handle_t *master_odbc; -#else - void *filler1; -#endif }; typedef struct vm_profile vm_profile_t; @@ -115,8 +111,8 @@ static switch_status_t vm_execute_sql(vm_profile_t *profile, char *sql, switch_m switch_mutex_lock(mutex); } -#ifdef SWITCH_HAVE_ODBC if (profile->odbc_dsn) { +#ifdef SWITCH_HAVE_ODBC SQLHSTMT stmt; if (switch_odbc_handle_exec(profile->master_odbc, sql, &stmt) != SWITCH_ODBC_SUCCESS) { char *err_str; @@ -126,27 +122,21 @@ static switch_status_t vm_execute_sql(vm_profile_t *profile, char *sql, switch_m status = SWITCH_STATUS_FALSE; } SQLFreeHandle(SQL_HANDLE_STMT, stmt); - } else { #endif + } else { if (!(db = switch_core_db_open_file(profile->dbname))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Opening DB %s\n", profile->dbname); status = SWITCH_STATUS_FALSE; goto end; } - status = switch_core_db_persistant_execute(db, sql, 25); switch_core_db_close(db); - -#ifdef SWITCH_HAVE_ODBC } -#endif - end: if (mutex) { switch_mutex_unlock(mutex); } - return status; } @@ -165,21 +155,16 @@ static switch_bool_t vm_execute_sql_callback(vm_profile_t *profile, switch_mutex_lock(mutex); } - -#ifdef SWITCH_HAVE_ODBC if (profile->odbc_dsn) { +#ifdef SWITCH_HAVE_ODBC switch_odbc_handle_callback_exec(profile->master_odbc, sql, callback, pdata); - } else { #endif - - - + } else { if (!(db = switch_core_db_open_file(profile->dbname))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Opening DB %s\n", profile->dbname); goto end; } - switch_core_db_exec(db, sql, callback, pdata, &errmsg); if (errmsg) { @@ -190,22 +175,13 @@ static switch_bool_t vm_execute_sql_callback(vm_profile_t *profile, if (db) { switch_core_db_close(db); } - -#ifdef SWITCH_HAVE_ODBC } -#endif - end: - if (mutex) { switch_mutex_unlock(mutex); } - - - return ret; - } @@ -225,7 +201,6 @@ static char vm_sql[] = " read_flags VARCHAR(255)\n" ");\n"; - static char vm_pref_sql[] = "CREATE TABLE voicemail_prefs (\n" " user VARCHAR(255),\n" @@ -234,9 +209,6 @@ static char vm_pref_sql[] = " greeting_path VARCHAR(255)\n" ");\n"; - - - static switch_status_t load_config(void) { char *cf = "voicemail.conf"; @@ -323,8 +295,7 @@ static switch_status_t load_config(void) email_headers = switch_core_strdup(globals.pool, param->txt); } - - for (param = switch_xml_child(x_email, "param"); param; param = param->next) { + for (param = switch_xml_child(x_email, "param"); param; param = param->next) { char *var, *val; var = (char *) switch_xml_attr_soft(param, "name"); @@ -371,8 +342,7 @@ static switch_status_t load_config(void) } } - - for (param = switch_xml_child(x_profile, "param"); param; param = param->next) { + for (param = switch_xml_child(x_profile, "param"); param; param = param->next) { char *var, *val; var = (char *) switch_xml_attr_soft(param, "name"); @@ -551,8 +521,8 @@ static switch_status_t load_config(void) } else { profile->dbname = switch_core_sprintf(globals.pool, "voicemail_%s", name); } -#ifdef SWITCH_HAVE_ODBC if (profile->odbc_dsn) { +#ifdef SWITCH_HAVE_ODBC if (!(profile->master_odbc = switch_odbc_handle_new(profile->odbc_dsn, profile->odbc_user, profile->odbc_pass))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Cannot Open ODBC Database!\n"); continue; @@ -573,8 +543,8 @@ static switch_status_t load_config(void) switch_odbc_handle_exec(profile->master_odbc, "drop table voicemail_data", NULL); switch_odbc_handle_exec(profile->master_odbc, vm_pref_sql, NULL); } - } else { #endif + } else { if ((db = switch_core_db_open_file(profile->dbname))) { switch_core_db_test_reactive(db, "select count(message_len) from voicemail_data", "drop table voicemail_data", vm_sql); switch_core_db_test_reactive(db, "select count(user) from voicemail_prefs", "drop table voicemail_data", vm_pref_sql); @@ -583,9 +553,7 @@ static switch_status_t load_config(void) continue; } switch_core_db_close(db); -#ifdef SWITCH_HAVE_ODBC } -#endif profile->web_head = web_head; profile->web_tail = web_tail; @@ -633,23 +601,17 @@ static switch_status_t load_config(void) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Added Profile %s\n", profile->name); switch_core_hash_insert(globals.profile_hash, profile->name, profile); - } - } end: - switch_xml_free(xml); - return SWITCH_STATUS_SUCCESS; } static switch_status_t cancel_on_dtmf(switch_core_session_t *session, void *input, switch_input_type_t itype, void *buf, unsigned int buflen) { - - switch (itype) { case SWITCH_INPUT_TYPE_DTMF: { @@ -678,8 +640,6 @@ typedef struct call_control cc_t; static switch_status_t control_playback(switch_core_session_t *session, void *input, switch_input_type_t itype, void *buf, unsigned int buflen) { - - switch (itype) { case SWITCH_INPUT_TYPE_DTMF: { @@ -707,9 +667,9 @@ static switch_status_t control_playback(switch_core_session_t *session, void *in } if (*dtmf == *cc->profile->restart_key) { - unsigned int pos = 0; + unsigned int seekpos = 0; fh->speed = 0; - switch_core_file_seek(fh, &pos, 0, SEEK_SET); + switch_core_file_seek(fh, &seekpos, 0, SEEK_SET); return SWITCH_STATUS_SUCCESS; } @@ -724,7 +684,6 @@ static switch_status_t control_playback(switch_core_session_t *session, void *in switch_core_file_seek(fh, &pos, fh->pos - samps, SEEK_SET); return SWITCH_STATUS_SUCCESS; } - } break; default: @@ -761,7 +720,6 @@ typedef enum { VM_CHECK_LISTEN } vm_check_state_t; - #define VM_ACK_MACRO "voicemail_ack" #define VM_SAY_DATE_MACRO "voicemail_say_date" #define VM_PLAY_GREETING_MACRO "voicemail_play_greeting" @@ -791,7 +749,6 @@ typedef enum { #define URGENT_FLAG_STRING "A_URGENT" #define NORMAL_FLAG_STRING "B_NORMAL" - static switch_status_t vm_macro_get(switch_core_session_t *session, char *macro, char *macro_arg, @@ -808,7 +765,7 @@ static switch_status_t vm_macro_get(switch_core_session_t *session, switch_size_t bslen; channel = switch_core_session_get_channel(session); - assert(channel != NULL); + switch_assert(channel != NULL); if (buf && buflen) { memset(buf, 0, buflen); @@ -863,7 +820,9 @@ static int sql2str_callback(void *pArg, int argc, char **argv, char **columnName static int unlink_callback(void *pArg, int argc, char **argv, char **columnNames) { if (argv[0]) { - unlink(argv[0]); + if (unlink(argv[0]) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "failed to delete file [%s]\n", argv[0]); + } } return 0; } @@ -887,7 +846,7 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t cc_t cc = { 0 }; switch_codec_t *read_codec; channel = switch_core_session_get_channel(session); - assert(channel != NULL); + switch_assert(channel != NULL); read_codec = switch_core_session_get_read_codec(session); @@ -898,7 +857,6 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t profile->save_file_key, profile->record_file_key); - record_file: args.input_callback = cancel_on_dtmf; TRY_CODE(switch_ivr_phrase_macro(session, macro_name, NULL, NULL, NULL)); @@ -920,9 +878,8 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t cc.fh = &fh; args.buf = &cc; switch_ivr_play_file(session, &fh, file_path, &args); - - - while(switch_channel_ready(channel)) { + + while(switch_channel_ready(channel)) { if (*cc.buf) { *input = *cc.buf; *(input+1) = '\0'; @@ -945,7 +902,6 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t } end: - return status; } @@ -990,8 +946,7 @@ static int listen_callback(void *pArg, int argc, char **argv, char **columnNames switch_copy_string(cbt->message_len, argv[9], 255); switch_copy_string(cbt->flags, argv[10], 255); switch_copy_string(cbt->read_flags, argv[11], 255); - - + return -1; } @@ -1005,9 +960,8 @@ static void message_count(vm_profile_t *profile, const char *myid, const char *d cbt.buf = msg_count; cbt.len = sizeof(msg_count); - - switch_snprintf(sql, sizeof(sql), + switch_snprintf(sql, sizeof(sql), "select count(*) from voicemail_data where user='%s' and domain='%s' and in_folder='%s' and read_epoch=0", myid, domain_name, @@ -1032,8 +986,7 @@ static void message_count(vm_profile_t *profile, const char *myid, const char *d vm_execute_sql_callback(profile, profile->mutex, sql, sql2str_callback, &cbt); *total_saved_messages = atoi(msg_count); - - switch_snprintf(sql, sizeof(sql), + switch_snprintf(sql, sizeof(sql), "select count(*) from voicemail_data where user='%s' and domain='%s' and in_folder='%s' and read_epoch!=0 and read_flags='%s'", myid, domain_name, @@ -1041,7 +994,6 @@ static void message_count(vm_profile_t *profile, const char *myid, const char *d URGENT_FLAG_STRING); vm_execute_sql_callback(profile, profile->mutex, sql, sql2str_callback, &cbt); *total_saved_urgent_messages = atoi(msg_count); - } @@ -1055,23 +1007,20 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t switch_file_handle_t fh = { 0 }; cc_t cc = { 0 }; channel = switch_core_session_get_channel(session); - assert(channel != NULL); - + switch_assert(channel != NULL); - if(switch_channel_ready(channel)) { + if(switch_channel_ready(channel)) { args.input_callback = cancel_on_dtmf; - - switch_snprintf(key_buf, sizeof(key_buf), "%s:%s:%s:%s:%s", + switch_snprintf(key_buf, sizeof(key_buf), "%s:%s:%s:%s:%s", profile->listen_file_key, profile->save_file_key, profile->delete_file_key, profile->email_key, profile->callback_key); - - switch_snprintf(input, sizeof(input), "%s:%d", cbt->type == MSG_NEW ? "new" : "saved", cbt->want+1); + switch_snprintf(input, sizeof(input), "%s:%d", cbt->type == MSG_NEW ? "new" : "saved", cbt->want+1); memset(&cc, 0, sizeof(cc)); cc.profile = profile; args.buf = &cc; @@ -1134,8 +1083,7 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t priority = 1; } - - message_count(profile, cbt->user, cbt->domain, cbt->in_folder, &total_new_messages, &total_saved_messages, + message_count(profile, cbt->user, cbt->domain, cbt->in_folder, &total_new_messages, &total_saved_messages, &total_new_urgent_messages, &total_saved_urgent_messages); switch_time_exp_lt(&tm, atoi(cbt->created_epoch) * 1000000); @@ -1258,10 +1206,9 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro char *email_vm = NULL; channel = switch_core_session_get_channel(session); - assert(channel != NULL); + switch_assert(channel != NULL); - - if (!(profile = switch_core_hash_find(globals.profile_hash, profile_name))) { + if (!(profile = switch_core_hash_find(globals.profile_hash, profile_name))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error invalid profile %s\n", profile_name); return; } @@ -1274,7 +1221,6 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro status = switch_ivr_phrase_macro(session, VM_HELLO_MACRO, NULL, NULL, NULL); while(switch_channel_ready(channel)) { - switch_ivr_sleep(session, 100); switch(vm_check_state) { @@ -1307,9 +1253,7 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro message_count(profile, myid, domain_name, myfolder, &total_new_messages, &total_saved_messages, &total_new_urgent_messages, &total_saved_urgent_messages); - - - if (total_new_urgent_messages > 0) { + if (total_new_urgent_messages > 0) { switch_snprintf(msg_count, sizeof(msg_count), "%d:urgent-new", total_new_urgent_messages); TRY_CODE(switch_ivr_phrase_macro(session, VM_MESSAGE_COUNT_MACRO, msg_count, NULL, NULL)); informed++; @@ -1352,8 +1296,7 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro informed++; } - - vm_check_state = VM_CHECK_MENU; + vm_check_state = VM_CHECK_MENU; } break; case VM_CHECK_PLAY_MESSAGES: @@ -1405,8 +1348,7 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro vm_execute_sql(profile, sql, profile->mutex); vm_check_state = VM_CHECK_FOLDER_SUMMARY; - - message_count(profile, id, domain_name, myfolder, &total_new_messages, &total_saved_messages, + message_count(profile, id, domain_name, myfolder, &total_new_messages, &total_saved_messages, &total_new_urgent_messages, &total_saved_urgent_messages); if (switch_event_create(&event, SWITCH_EVENT_MESSAGE_WAITING) == SWITCH_STATUS_SUCCESS) { @@ -1496,9 +1438,8 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro } else if (!strcmp(input, profile->record_greeting_key)) { int num; TRY_CODE(vm_macro_get(session, VM_CHOOSE_GREETING_MACRO, key_buf, input, sizeof(input), 1, "", &term, timeout)); - - - num = atoi(input); + + num = atoi(input); if (num < 1 || num > 3) { TRY_CODE(switch_ivr_phrase_macro(session, VM_CHOOSE_GREETING_FAIL_MACRO, NULL, NULL, NULL)); } else { @@ -1518,7 +1459,6 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro switch_safe_free(file_path); switch_safe_free(sql); } - continue; } break; @@ -1554,8 +1494,7 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro vm_check_state = VM_CHECK_PLAY_MESSAGES; } - - continue; + continue; } break; case VM_CHECK_AUTH: @@ -1587,8 +1526,7 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro caller_profile = switch_channel_get_caller_profile(channel); xtra = switch_mprintf("mailbox=%s&destination_number=%s&caller_id_number=%s", myid,caller_profile->destination_number,caller_profile->caller_id_number); - - assert(xtra); + switch_assert(xtra); if (switch_xml_locate_user("id", myid, domain_name, switch_channel_get_variable(channel, "network_addr"), &x_domain_root, &x_domain, &x_user, xtra) != SWITCH_STATUS_SUCCESS) { @@ -1658,16 +1596,14 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro SWITCH_PATH_SEPARATOR, myid); } - - - if (switch_dir_make_recursive(dir_path, SWITCH_DEFAULT_DIR_PERMS, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + + if (switch_dir_make_recursive(dir_path, SWITCH_DEFAULT_DIR_PERMS, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error creating %s\n", dir_path); return; } } - - vm_check_state = VM_CHECK_FOLDER_SUMMARY; + vm_check_state = VM_CHECK_FOLDER_SUMMARY; } else { goto failed; } @@ -1698,7 +1634,6 @@ static void voicemail_check_main(switch_core_session_t *session, const char *pro if (x_domain_root) { switch_xml_free(x_domain_root); } - } @@ -1740,7 +1675,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons } channel = switch_core_session_get_channel(session); - assert(channel != NULL); + switch_assert(channel != NULL); caller_profile = switch_channel_get_caller_profile(channel); if(switch_strlen_zero(profile->storage_dir)) { @@ -1764,14 +1699,13 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons goto end; } - - if (id) { + if (id) { int ok = 1; char *xtra = switch_mprintf("mailbox=%s", id); switch_xml_t x_domain, x_domain_root, x_user, x_params, x_param; const char *email_addr = NULL; - assert(xtra); + switch_assert(xtra); x_user = x_domain = x_domain_root = NULL; if (switch_xml_locate_user("id", id, domain_name, switch_channel_get_variable(channel, "network_addr"), &x_domain_root, &x_domain, &x_user, xtra) == SWITCH_STATUS_SUCCESS) { @@ -1802,9 +1736,8 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "can't find user [%s@%s]\n", id, domain_name); ok = 0; } - - switch_safe_free(xtra); + switch_safe_free(xtra); switch_xml_free(x_domain_root); if (!ok) { goto end; @@ -1870,8 +1803,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons } } - - memset(&fh, 0, sizeof(fh)); + memset(&fh, 0, sizeof(fh)); args.input_callback = control_playback; memset(&cc, 0, sizeof(cc)); cc.profile = profile; @@ -1945,16 +1877,12 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons end: - - if (send_mail && !switch_strlen_zero(email_vm)) { + if (send_mail && !switch_strlen_zero(email_vm)) { switch_event_t *event; char *from; char *body; char *headers; char *header_string; - switch_size_t retsize; - switch_time_exp_t tm; - char date[80] = ""; char tmp[50]=""; int total_new_messages = 0; int total_saved_messages = 0; @@ -1991,9 +1919,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons switch_channel_set_variable(channel, "voicemail_priority", tmp); switch_channel_set_variable(channel, "voicemail_email", email_vm); - - - l_duration = (long)message_len * 1000000; + l_duration = (long)message_len * 1000000; switch_core_measure_time(l_duration, &duration); duration.day += duration.yr * 365; duration.hr += duration.day * 24; @@ -2002,10 +1928,8 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons duration.min, duration.sec ); - - - switch_channel_set_variable(channel, "voicemail_message_len", duration_str); + switch_channel_set_variable(channel, "voicemail_message_len", duration_str); if (switch_strlen_zero(profile->email_from)) { from = switch_core_session_sprintf(session, "%s@%s", id, domain_name); @@ -2036,8 +1960,7 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons header_string = switch_core_session_sprintf(session, "%s\nX-Voicemail-Length: %u", headers, message_len); - - if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) { + if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) { switch_channel_event_set_data(channel, event); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Message-Type", "voicemail"); switch_event_fire(&event); @@ -2059,7 +1982,9 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending message to %s\n", email_vm); switch_safe_free(body); if (email_delete) { - unlink(file_path); + if (unlink(file_path) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "failed to delete file [%s]\n", file_path); + } } } @@ -2070,8 +1995,6 @@ static switch_status_t voicemail_leave_main(switch_core_session_t *session, cons } return status; - - } @@ -2091,7 +2014,7 @@ SWITCH_STANDARD_APP(voicemail_function) switch_channel_t *channel; channel = switch_core_session_get_channel(session); - assert(channel != NULL); + switch_assert(channel != NULL); if (switch_dir_make_recursive(SWITCH_GLOBAL_dirs.storage_dir, SWITCH_DEFAULT_DIR_PERMS, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error creating %s\n", SWITCH_GLOBAL_dirs.storage_dir); @@ -2127,8 +2050,7 @@ SWITCH_STANDARD_APP(voicemail_function) id = argv[x++]; } - - if ((auth_var = switch_channel_get_variable(channel, "voicemail_authorized")) && switch_true(auth_var)) { + if ((auth_var = switch_channel_get_variable(channel, "voicemail_authorized")) && switch_true(auth_var)) { auth = 1; } @@ -2177,7 +2099,7 @@ static void message_query_handler(switch_event_t *event) } else { id = strdup(account); } - assert(id); + switch_assert(id); if ((domain = strchr(id, '@'))) { *domain++ = '\0'; @@ -2215,8 +2137,6 @@ static void message_query_handler(switch_event_t *event) switch_event_fire(&new_event); } } - - } #define VOICEMAIL_SYNTAX "rss [ ]" @@ -2240,7 +2160,9 @@ struct holder { static int del_callback(void *pArg, int argc, char **argv, char **columnNames) { if (argc > 8) { - unlink(argv[8]); + if (unlink(argv[8]) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "failed to delete file [%s]\n", argv[8]); + } } return 0; } @@ -2281,12 +2203,9 @@ static int play_callback(void *pArg, int argc, char **argv, char **columnNames) } holder->stream->raw_write_function(holder->stream, chunk, flen); - } - switch_file_close(fd); } - return 0; } @@ -2309,8 +2228,6 @@ static void do_play(vm_profile_t *profile, char *user, char *domain, char *file, vm_execute_sql_callback(profile, profile->mutex, sql, play_callback, &holder); switch_core_destroy_memory_pool(&holder.pool); switch_safe_free(sql); - - } @@ -2318,15 +2235,9 @@ static void do_del(vm_profile_t *profile, char *user, char *domain, char *file, { char *sql; struct holder holder; - //char *uri, *host, *port; char *ref = NULL; - //host = port = uri = NULL; - if (stream->event) { - //host = switch_event_get_header(stream->event, "http-host"); - //port = switch_event_get_header(stream->event, "http-port"); - //uri = switch_event_get_header(stream->event, "http-uri"); ref = switch_event_get_header(stream->event, "http-referer"); } @@ -2345,11 +2256,9 @@ static void do_del(vm_profile_t *profile, char *user, char *domain, char *file, stream->write_function(stream,"Content-type: text/html\n\n

Message Deleted

\n" "", ref); } - } - static int web_callback(void *pArg, int argc, char **argv, char **columnNames) { struct holder *holder = (struct holder *) pArg; @@ -2381,8 +2290,7 @@ static int web_callback(void *pArg, int argc, char **argv, char **columnNames) l_duration = atol(argv[9]) * 1000000; } - - if ((fname = strrchr(argv[8], '/'))) { + if ((fname = strrchr(argv[8], '/'))) { fname++; } else { fname = argv[8]; @@ -2430,9 +2338,7 @@ static int web_callback(void *pArg, int argc, char **argv, char **columnNames) switch_snprintf(title_b4, sizeof(title_b4), "%s <%s> %s", argv[5], argv[6], rss_date); switch_url_encode(title_b4, title_aft, sizeof(title_aft)-1); - - - holder->stream->write_function(holder->stream, + holder->stream->write_function(holder->stream, "
\n" @@ -2524,9 +2430,7 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames) x_link = switch_xml_add_child_d(holder->x_item, "fsvm:rmlink", 0); switch_xml_set_txt_d(x_link, del); - - - tmp = switch_mprintf("" + tmp = switch_mprintf("" "Last Heard: %s
Duration: %s
" "Delete This Message
" "]]>", @@ -2536,17 +2440,13 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames) free(tmp); free(del); - - x_tmp = switch_xml_add_child_d(holder->x_item, "pubDate", 0); + x_tmp = switch_xml_add_child_d(holder->x_item, "pubDate", 0); switch_xml_set_txt_d(x_tmp, rss_date); x_tmp = switch_xml_add_child_d(holder->x_item, "itunes:duration", 0); switch_xml_set_txt_d(x_tmp, duration_str); - - - - x_tmp = switch_xml_add_child_d(holder->x_item, "guid", 0); + x_tmp = switch_xml_add_child_d(holder->x_item, "guid", 0); switch_xml_set_txt_d(x_tmp, get); x_link = switch_xml_add_child_d(holder->x_item, "link", 0); @@ -2556,9 +2456,7 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames) switch_xml_set_attr_d(x_tmp, "url", get); free(get); - - - if (switch_file_open(&fd, argv[8], SWITCH_FOPEN_READ, SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE, holder->pool) == SWITCH_STATUS_SUCCESS) { + if (switch_file_open(&fd, argv[8], SWITCH_FOPEN_READ, SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE, holder->pool) == SWITCH_STATUS_SUCCESS) { flen = switch_file_get_size(fd); tmp = switch_mprintf("%ld", (long) flen); switch_xml_set_attr_d(x_tmp, "length", tmp); @@ -2580,7 +2478,6 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames) static void do_rss(vm_profile_t *profile, char *user, char *domain, char *host, char *port, char *uri, switch_stream_handle_t *stream) { - struct holder holder; switch_xml_t x_tmp; char *sql, *xmlstr; @@ -2598,7 +2495,7 @@ static void do_rss(vm_profile_t *profile, char *user, char *domain, char *host, holder.uri = uri; switch_core_new_memory_pool(&holder.pool); - assert(holder.xml); + switch_assert(holder.xml); switch_xml_set_attr_d(holder.xml, "xmlns:itunes", "http://www.itunes.com/dtds/podcast-1.0.dtd"); switch_xml_set_attr_d(holder.xml, "xmlns:fsvm", "http://www.freeswitch.org/dtd/fsvm.dtd"); @@ -2618,9 +2515,8 @@ static void do_rss(vm_profile_t *profile, char *user, char *domain, char *host, x_tmp = switch_xml_add_child_d(holder.x_channel, "ttl", 0); switch_xml_set_txt_d(x_tmp, "15"); - - sql = switch_mprintf("select * from voicemail_data where user='%s' and domain='%s' order by read_flags", user, domain); + sql = switch_mprintf("select * from voicemail_data where user='%s' and domain='%s' order by read_flags", user, domain); vm_execute_sql_callback(profile, profile->mutex, sql, rss_callback, &holder); xmlstr = switch_xml_toxml(holder.xml, SWITCH_TRUE); @@ -2652,8 +2548,7 @@ static void do_web(vm_profile_t *profile, char *user, char *domain, char *host, holder.port = port; holder.uri = uri; - - if (profile->web_head) { + if (profile->web_head) { stream->raw_write_function(stream, (uint8_t *)profile->web_head, strlen(profile->web_head)); } @@ -2674,7 +2569,6 @@ static void do_web(vm_profile_t *profile, char *user, char *domain, char *host, if (profile->web_tail) { stream->raw_write_function(stream, (uint8_t *)profile->web_tail, strlen(profile->web_tail)); } - } SWITCH_STANDARD_API(voicemail_api_function) @@ -2703,7 +2597,7 @@ SWITCH_STANDARD_API(voicemail_api_function) if (!switch_strlen_zero(cmd)) { mydata = strdup(cmd); - assert(mydata); + switch_assert(mydata); argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); } @@ -2778,13 +2672,8 @@ SWITCH_STANDARD_API(voicemail_api_function) stream->write_function(stream, "Error: %s\n", VOICEMAIL_SYNTAX); done: - switch_safe_free(mydata); - - return SWITCH_STATUS_SUCCESS; - - } @@ -2801,7 +2690,6 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_voicemail_load) *module_interface = switch_loadable_module_create_module_interface(pool, modname); SWITCH_ADD_APP(app_interface, "voicemail", "Voicemail", VM_DESC, voicemail_function, VM_USAGE, SAF_NONE); - if (switch_event_bind((char *) modname, SWITCH_EVENT_MESSAGE_QUERY, SWITCH_EVENT_SUBCLASS_ANY, message_query_handler, NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't bind!\n");