MT#7955 Fix function declaration.

agranig/pcre
Andreas Granig 11 years ago
parent 6da30351d5
commit 20daea7bfb

@ -127,6 +127,7 @@ struct ast_vm_user;
AST_THREADSTORAGE(ts_vmstate, ts_vmstate_init);
static struct ast_vm_user *find_user_realtime_by_alias(struct ast_vm_user *ivm, const char *context, const char *alias);
static int init_mailstream (struct vm_state *vms, int box);
static void write_file (char *filename, char *buffer, unsigned long len);
/*static void status (MAILSTREAM *stream); */ /* No need for this. */
@ -785,46 +786,6 @@ static struct ast_vm_user *find_user_realtime(struct ast_vm_user *ivm, const cha
return retval;
}
static struct ast_vm_user *find_user_realtime_by_alias(struct ast_vm_user *ivm, const char *context, const char *alias)
{
int res;
char mailbox[256] = "";
const char *argv[] = { alias };
char *sql = "select distinct(vmusers.mailbox) from kamailio.voicemail_users vmusers " \
"left join provisioning.voip_subscribers pvs on vmusers.customer_id = pvs.uuid " \
"left join provisioning.voip_dbaliases vda on pvs.id = vda.subscriber_id " \
"where vda.username = ?";
struct generic_prepare_struct gps = { .sql = sql, .argc = 1, .argv = argv };
struct odbc_obj *obj = NULL;
SQLHSTMT stmt = NULL;
obj = ast_odbc_request_obj(odbc_database, 0);
stmt = ast_odbc_prepare_and_execute(obj, generic_prepare, &gps);
if (!stmt) {
ast_log(LOG_WARNING, "SQL Execute error!\n[%s]\n\n", sql);
ast_odbc_release_obj(obj);
return NULL;
}
res = SQLFetch(stmt);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
ast_log(LOG_WARNING, "SQL Fetch error!\n[%s]\n\n", sql);
SQLFreeHandle (SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
return NULL;
}
res = SQLGetData(stmt, 1, SQL_CHAR, mailbox, sizeof(mailbox), NULL);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
ast_log(LOG_WARNING, "SQL Get Data error!\n[%s]\n\n", sql);
SQLFreeHandle (SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
return NULL;
}
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
return find_user_realtime(ivm, context, mailbox);
}
static struct ast_vm_user *find_user(struct ast_vm_user *ivm, const char *context, const char *mailbox)
{
/* This function could be made to generate one from a database, too */
@ -2768,6 +2729,47 @@ static void rename_file(char *sdir, int smsg, char *mailboxuser, char *mailboxco
return;
}
static struct ast_vm_user *find_user_realtime_by_alias(struct ast_vm_user *ivm, const char *context, const char *alias)
{
int res;
char mailbox[256] = "";
const char *argv[] = { alias };
char *sql = "select distinct(vmusers.mailbox) from kamailio.voicemail_users vmusers " \
"left join provisioning.voip_subscribers pvs on vmusers.customer_id = pvs.uuid " \
"left join provisioning.voip_dbaliases vda on pvs.id = vda.subscriber_id " \
"where vda.username = ?";
struct generic_prepare_struct gps = { .sql = sql, .argc = 1, .argv = argv };
struct odbc_obj *obj = NULL;
SQLHSTMT stmt = NULL;
obj = ast_odbc_request_obj(odbc_database, 0);
stmt = ast_odbc_prepare_and_execute(obj, generic_prepare, &gps);
if (!stmt) {
ast_log(LOG_WARNING, "SQL Execute error!\n[%s]\n\n", sql);
ast_odbc_release_obj(obj);
return NULL;
}
res = SQLFetch(stmt);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
ast_log(LOG_WARNING, "SQL Fetch error!\n[%s]\n\n", sql);
SQLFreeHandle (SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
return NULL;
}
res = SQLGetData(stmt, 1, SQL_CHAR, mailbox, sizeof(mailbox), NULL);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
ast_log(LOG_WARNING, "SQL Get Data error!\n[%s]\n\n", sql);
SQLFreeHandle (SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
return NULL;
}
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
return find_user_realtime(ivm, context, mailbox);
}
#else
#ifndef IMAP_STORAGE
static int count_messages(struct ast_vm_user *vmu, char *dir)

Loading…
Cancel
Save