From 53301ed978037a7836f8f1096838b948a72b033a Mon Sep 17 00:00:00 2001 From: markster Date: Tue, 29 Jun 2004 20:09:43 +0000 Subject: Minor formatting fixes for pbx_wilcalu git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3358 f38db490-d61c-443f-a65b-d21fe96a405b --- pbx/pbx_wilcalu.c | 95 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 43 deletions(-) (limited to 'pbx') diff --git a/pbx/pbx_wilcalu.c b/pbx/pbx_wilcalu.c index 4f6fa8a38..2b92239f4 100755 --- a/pbx/pbx_wilcalu.c +++ b/pbx/pbx_wilcalu.c @@ -6,7 +6,7 @@ * * Copyright (C) 1999, Mark Spencer * - * Mark Spencer + * Mark Spencer * * This program is free software, distributed under the terms of * the GNU General Public License @@ -34,24 +34,24 @@ #include "../astconf.h" -// Globals +/* Globals */ const char dialfile[255]; static char *tdesc = "Wil Cal U (Auto Dialer)"; static pthread_t autodialer_thread; static char buf[257]; -static char lastbuf[257];//contains last partial buffer +static char lastbuf[257]; /* contains last partial buffer */ static char sendbuf[257]; STANDARD_LOCAL_USER; LOCAL_USER_DECL; -//prototype +/* prototype */ static void *dialstring(void *string); -// types +/* types */ struct alarm_data { -time_t alarm_time; -int snooze_len; -void *dialstr; + time_t alarm_time; + int snooze_len; + void *dialstr; }; static void *autodial(void *ignore) @@ -61,6 +61,7 @@ static void *autodial(void *ignore) int fd=open(dialfile,O_RDONLY|O_NONBLOCK); int flags = fcntl(fd, F_GETFL); struct pollfd fds[1]; + fcntl(fd, F_SETFL, flags & ~O_NONBLOCK); if (option_debug) ast_log(LOG_DEBUG, "Entered Wil-Calu fd=%d\n",fd); @@ -86,23 +87,23 @@ static void *autodial(void *ignore) int x; ast_log(LOG_DEBUG, "WilCalu : Read Buf %s\n",buf); sendbufptr=sendbuf; - for(x=0;lastbuf[x]!=0 && x<257;x++); + for(x=0; lastbuf[x]!=0 && x<257; x++); if(x) { - memcpy(sendbuf,lastbuf,x); + memcpy(sendbuf, lastbuf, x); sendbufptr+=x; - memset(lastbuf,0,257); + memset(lastbuf, 0, 257); } /* Process bytes read */ - for(x=0;xsnooze_len); - pthread_create(&dialstring_thread,NULL,dialstring,data->dialstr); - // dialstring will free data->dialstr + pthread_create(&dialstring_thread, NULL, dialstring, data->dialstr); + /* dialstring will free data->dialstr */ free(pass); pthread_exit(NULL); return NULL; } -static void set_snooze_alarm(char *dialstr,int snooze_len){ + +static void set_snooze_alarm(char *dialstr, int snooze_len) +{ pthread_t snooze_alarm_thread; struct alarm_data *pass; + ast_log(LOG_DEBUG, "Answered: Snooze Requested\n"); - if(NULL==(pass=malloc(sizeof(struct alarm_data)))){ + if (NULL==(pass=malloc(sizeof(struct alarm_data)))){ perror("snooze_alarm: data"); pthread_exit(NULL); } - if(NULL==(pass->dialstr=(void *)strdup(dialstr))){ + if (NULL==(pass->dialstr=(void *)strdup(dialstr))){ free(pass); perror("snooze_alarm: dialstr"); pthread_exit(NULL); @@ -151,23 +156,24 @@ static void set_snooze_alarm(char *dialstr,int snooze_len){ pthread_create(&snooze_alarm_thread,NULL,snooze_alarm,pass); } -static void *dialstring(void *string){ +static void *dialstring(void *string) +{ struct ast_channel *channel; char *bufptr,*destptr; - // ms affects number of rings - int ms=10000; + int ms=10000; /* ms affects number of rings */ int cnt=0,first; char tech[256]; char tele[256]; char filename[256]; int answered=0; - for(first=0,bufptr=(char *)string,destptr=tech;*bufptr&&cnt<256;cnt++){ - if(*bufptr=='/' && !first){ + + for(first=0, bufptr=(char *)string, destptr=tech; *bufptr&&cnt<256; cnt++){ + if(*bufptr=='/' && !first) { *destptr=0; destptr=tele; first=1; } - else if(*bufptr==','){ + else if(*bufptr==',') { *destptr=0; destptr=filename; } else { @@ -178,18 +184,17 @@ static void *dialstring(void *string){ } *destptr=0; ast_log(LOG_DEBUG, "Printing string arg: %s Eos\n", (char *)string); - if(strlen(tech)+strlen(tele)+strlen(filename)>256){ + if(strlen(tech)+strlen(tele)+strlen(filename) > 256) { ast_log(LOG_ERROR, "Autodial:Error string too long\n"); free(string); pthread_exit(NULL); } - ast_log(LOG_DEBUG, "Autodial Tech %s(%d) Tele %s(%d) Filename %s(%d)\n",tech,(int)strlen(tech),tele,(int)strlen(tele),filename,(int)strlen(filename)); + ast_log(LOG_DEBUG, "Autodial Tech %s(%d) Tele %s(%d) Filename %s(%d)\n",tech, (int)strlen(tech), tele, (int)strlen(tele), filename, (int)strlen(filename)); channel=ast_request(tech,AST_FORMAT_SLINEAR,tele); if(channel!=NULL){ ast_call(channel,tele,10000); - } - else { + } else { ast_log(LOG_ERROR, "Autodial:Sorry unable to obtain channel\n"); free(string); pthread_exit(NULL); @@ -198,19 +203,21 @@ static void *dialstring(void *string){ ast_log(LOG_DEBUG, "Autodial:Line is Up\n"); while(ms>0){ struct ast_frame *f; + ms=ast_waitfor(channel,ms); f=ast_read(channel); if(!f){ ast_log(LOG_DEBUG, "Autodial:Hung Up\n"); break; } - if(f->frametype==AST_FRAME_CONTROL){ - if(f->subclass==AST_CONTROL_ANSWER){ + if (f->frametype==AST_FRAME_CONTROL) { + if (f->subclass==AST_CONTROL_ANSWER) { ast_log(LOG_DEBUG, "Autodial:Phone Answered\n"); - if(channel->_state==AST_STATE_UP){ + if (channel->_state==AST_STATE_UP) { char res; + ast_streamfile(channel,filename,0); - // Press Five for snooze + /* Press Five for snooze */ res=ast_waitstream(channel, "37"); if(res=='3'){ answered=1; @@ -227,19 +234,20 @@ static void *dialstring(void *string){ ms=0; } } - else if(f->subclass==AST_CONTROL_RINGING) + else if (f->subclass==AST_CONTROL_RINGING) ast_log(LOG_DEBUG, "Autodial:Phone Ringing end\n"); } ast_frfree(f); } if(!answered) - set_snooze_alarm((char *)string,5); + set_snooze_alarm((char *) string, 5); free(string); ast_hangup(channel); ast_log(LOG_DEBUG, "Autodial:Hung up channel\n"); pthread_exit(NULL); return NULL; } + int unload_module(void) { STANDARD_HANGUP_LOCALUSERS; @@ -250,14 +258,15 @@ int unload_module(void) int load_module(void) { int val; - snprintf((char *)dialfile,sizeof(dialfile)-1,"%s/%s",(char *)ast_config_AST_RUN_DIR,"autodial.ctl"); - if((val=mkfifo(dialfile, 0700))){ + + snprintf((char *)dialfile, sizeof(dialfile)-1,"%s/%s", (char *)ast_config_AST_RUN_DIR,"autodial.ctl"); + if((val=mkfifo(dialfile, 0700))) { if(errno!=EEXIST){ ast_log(LOG_ERROR, "Error:%d Creating Autodial FIFO\n",errno); return 0; } } - pthread_create(&autodialer_thread,NULL,autodial,NULL); + pthread_create(&autodialer_thread, NULL, autodial, NULL); return 0; } -- cgit v1.2.3