mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-16 14:58:25 +00:00
Code cleanup of res_smdi
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -94,18 +94,17 @@ int ast_smdi_mwi_set(struct ast_smdi_interface *iface, const char *mailbox)
|
||||
FILE *file;
|
||||
int i;
|
||||
|
||||
file = fopen(iface->name, "w");
|
||||
if(!file) {
|
||||
if (!(file = fopen(iface->name, "w"))) {
|
||||
ast_log(LOG_ERROR, "Error opening SMDI interface %s (%s) for writing\n", iface->name, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
ASTOBJ_WRLOCK(iface);
|
||||
|
||||
|
||||
fprintf(file, "OP:MWI ");
|
||||
|
||||
for(i = 0; i < iface->msdstrip; i++)
|
||||
fprintf(file, "0");
|
||||
|
||||
for (i = 0; i < iface->msdstrip; i++)
|
||||
fprintf(file, "0");
|
||||
|
||||
fprintf(file, "%s!\x04", mailbox);
|
||||
fclose(file);
|
||||
@@ -124,19 +123,18 @@ int ast_smdi_mwi_unset(struct ast_smdi_interface *iface, const char *mailbox)
|
||||
{
|
||||
FILE *file;
|
||||
int i;
|
||||
|
||||
file = fopen(iface->name, "w");
|
||||
if(!file) {
|
||||
|
||||
if (!(file = fopen(iface->name, "w"))) {
|
||||
ast_log(LOG_ERROR, "Error opening SMDI interface %s (%s) for writing\n", iface->name, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
ASTOBJ_WRLOCK(iface);
|
||||
|
||||
|
||||
fprintf(file, "RMV:MWI ");
|
||||
|
||||
for(i = 0; i < iface->msdstrip; i++)
|
||||
fprintf(file, "0");
|
||||
|
||||
for (i = 0; i < iface->msdstrip; i++)
|
||||
fprintf(file, "0");
|
||||
|
||||
fprintf(file, "%s!\x04", mailbox);
|
||||
fclose(file);
|
||||
@@ -225,11 +223,10 @@ struct ast_smdi_md_message *ast_smdi_md_message_pop(struct ast_smdi_interface *i
|
||||
*/
|
||||
extern struct ast_smdi_md_message *ast_smdi_md_message_wait(struct ast_smdi_interface *iface, int timeout)
|
||||
{
|
||||
struct timeval start;
|
||||
struct timeval start = ast_tvnow();
|
||||
long diff = 0;
|
||||
struct ast_smdi_md_message *msg;
|
||||
|
||||
start = ast_tvnow();
|
||||
while (diff < timeout) {
|
||||
|
||||
if ((msg = ast_smdi_md_message_pop(iface)))
|
||||
@@ -255,11 +252,10 @@ extern struct ast_smdi_md_message *ast_smdi_md_message_wait(struct ast_smdi_inte
|
||||
extern struct ast_smdi_mwi_message *ast_smdi_mwi_message_pop(struct ast_smdi_interface *iface)
|
||||
{
|
||||
struct ast_smdi_mwi_message *mwi_msg = ASTOBJ_CONTAINER_UNLINK_START(&iface->mwi_q);
|
||||
struct timeval now;
|
||||
struct timeval now = ast_tvnow();
|
||||
long elapsed = 0;
|
||||
|
||||
/* purge old messages */
|
||||
now = ast_tvnow();
|
||||
while (mwi_msg) {
|
||||
elapsed = ast_tvdiff_ms(now, mwi_msg->timestamp);
|
||||
|
||||
@@ -293,11 +289,10 @@ extern struct ast_smdi_mwi_message *ast_smdi_mwi_message_pop(struct ast_smdi_int
|
||||
*/
|
||||
extern struct ast_smdi_mwi_message *ast_smdi_mwi_message_wait(struct ast_smdi_interface *iface, int timeout)
|
||||
{
|
||||
struct timeval start;
|
||||
struct timeval start = ast_tvnow();
|
||||
long diff = 0;
|
||||
struct ast_smdi_mwi_message *msg;
|
||||
|
||||
start = ast_tvnow();
|
||||
while (diff < timeout) {
|
||||
|
||||
if ((msg = ast_smdi_mwi_message_pop(iface)))
|
||||
@@ -528,10 +523,8 @@ static int smdi_load(int reload)
|
||||
|
||||
int msdstrip = 0; /* strip zero digits */
|
||||
long msg_expiry = SMDI_MSG_EXPIRY_TIME;
|
||||
|
||||
conf = ast_config_load(config_file);
|
||||
|
||||
if (!conf) {
|
||||
if (!(conf = ast_config_load(config_file))) {
|
||||
if (reload)
|
||||
ast_log(LOG_NOTICE, "Unable to reload config %s: SMDI untouched\n", config_file);
|
||||
else
|
||||
@@ -651,13 +644,13 @@ static int smdi_load(int reload)
|
||||
|
||||
/* set the stop bits */
|
||||
if (stopbits)
|
||||
iface->mode.c_cflag = iface->mode.c_cflag | CSTOPB; /* set two stop bits */
|
||||
iface->mode.c_cflag = iface->mode.c_cflag | CSTOPB; /* set two stop bits */
|
||||
else
|
||||
iface->mode.c_cflag = iface->mode.c_cflag & ~CSTOPB; /* set one stop bit */
|
||||
|
||||
iface->mode.c_cflag = iface->mode.c_cflag & ~CSTOPB; /* set one stop bit */
|
||||
|
||||
/* set the parity */
|
||||
iface->mode.c_cflag = (iface->mode.c_cflag & ~PARENB & ~PARODD) | paritybit;
|
||||
|
||||
|
||||
/* set the character size */
|
||||
iface->mode.c_cflag = (iface->mode.c_cflag & ~CSIZE) | charsize;
|
||||
|
||||
@@ -691,7 +684,7 @@ static int smdi_load(int reload)
|
||||
}
|
||||
}
|
||||
ast_config_destroy(conf);
|
||||
|
||||
|
||||
/* Prune any interfaces we should no longer monitor. */
|
||||
if (reload)
|
||||
ASTOBJ_CONTAINER_PRUNE_MARKED(&smdi_ifaces, ast_smdi_interface_destroy);
|
||||
@@ -701,18 +694,18 @@ static int smdi_load(int reload)
|
||||
if (!smdi_ifaces.head)
|
||||
res = 1;
|
||||
ASTOBJ_CONTAINER_UNLOCK(&smdi_ifaces);
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static int load_module(void)
|
||||
{
|
||||
int res;
|
||||
|
||||
|
||||
/* initialize our containers */
|
||||
memset(&smdi_ifaces, 0, sizeof(smdi_ifaces));
|
||||
ASTOBJ_CONTAINER_INIT(&smdi_ifaces);
|
||||
|
||||
|
||||
/* load the config and start the listener threads*/
|
||||
res = smdi_load(0);
|
||||
if (res < 0) {
|
||||
|
||||
Reference in New Issue
Block a user