--- Wilfried Goesgens <[EMAIL PROTECTED]>
wrote:

> On Wed, Apr 19, 2006 at 12:36:14PM +0200, Alexander
> Malysh wrote:
> > Hi,
> > 
> > seems your patch doesn't do what you describe. see
> below...
> > 
> > Thanks,
> > Alex
> > 
> > Wilfried Goesgens schrieb:
> > >If one wants to compare to the messagetype 'sms',
> naming a variable 'sms' causes nameclashes.
> > >This Patch shouldn't introduce any new features
> asside renaming 'sms' to 'msg' as it is called in
> most other places.
> > >Kind Regards, Wilfried G???sgens
> >
>
>------------------------------------------------------------------------
> > >--- a/gateway/gw/bb_smscconn.c     2005-11-10
> 17:17:10.000000000 +0100
> > >+++ b/gateway/gw/bb_smscconn.c     2006-04-05
> 19:30:42.000000000 +0200
> > > -long bb_smscconn_receive(SMSCConn *conn, Msg
> *sms)
> > >+long bb_smscconn_receive(SMSCConn *conn, Msg
> *msg)
> > > {
> > >     char *uf;
> > >     int rc;
> > >     Msg *copy;
> > >+  long CSMRN, TOTAL, SEQUENCE;
> > 
> > what is that?
> > 
> > >-    if (store_save(msg) == -1)
> > >   return SMSCCONN_FAILED_TEMPORARILY;
> > 
> > with this change all MOs will be rejected...
> > 
> > > -    copy = msg_duplicate(sms);
> > >+    copy = msg_duplicate(msg);
> > >      /*
> 
> Sorry for that. I've mis-cut out where i've plugged
> in new functionality. I first wanted it to move the
> sms out. Find the corrected diff attached.
> Wilfried Goesgens
> > --- a/gateway/gw/bb_smscconn.c      2005-11-10
> 17:17:10.000000000 +0100
> +++ b/gateway/gw/bb_smscconn.c        2006-04-05
> 19:30:42.000000000 +0200
>  
> -long bb_smscconn_receive(SMSCConn *conn, Msg *sms)
> +long bb_smscconn_receive(SMSCConn *conn, Msg *msg)
>  {
>      char *uf;
>      int rc;
>      Msg *copy;
>  
>     /*
>      * First normalize in smsc level and then on
> global level.
>      * In outbound direction it's vise versa, hence
> first global then smsc.
>      */
>      uf = (conn && conn->unified_prefix) ?
> octstr_get_cstr(conn->unified_prefix) : NULL;
> -    normalize_number(uf, &(sms->sms.sender));
> +    normalize_number(uf, &(msg->sms.sender));
>  
>      uf = unified_prefix ?
> octstr_get_cstr(unified_prefix) : NULL;
> -    normalize_number(uf, &(sms->sms.sender));
> +    normalize_number(uf, &(msg->sms.sender));
>  
>      if (white_list &&
> -     numhash_find_number(white_list, sms->sms.sender) <
> 1) {
> +     numhash_find_number(white_list, msg->sms.sender) <
> 1) {
>       info(0, "Number <%s> is not in white-list, message
> discarded",
> -          octstr_get_cstr(sms->sms.sender));
> -     bb_alog_sms(conn, sms, "REJECTED - not
> white-listed SMS");
> -     msg_destroy(sms);
> +          octstr_get_cstr(msg->sms.sender));
> +     bb_alog_sms(conn, msg, "REJECTED - not
> white-listed SMS");
> +     msg_destroy(msg);
>          return SMSCCONN_FAILED_REJECTED;
>      }
>  
> -    if (white_list_regex &&
> (gw_regex_matches(white_list_regex, sms->sms.sender)
> == NO_MATCH)) {
> +    if (white_list_regex &&
> (gw_regex_matches(white_list_regex, msg->sms.sender)
> == NO_MATCH)) {
>          info(0, "Number <%s> is not in white-list,
> message discarded",
> -             octstr_get_cstr(sms->sms.sender));
> -        bb_alog_sms(conn, sms, "REJECTED - not
> white-regex-listed SMS");
> -        msg_destroy(sms);
> +             octstr_get_cstr(msg->sms.sender));
> +        bb_alog_sms(conn, msg, "REJECTED - not
> white-regex-listed SMS");
> +        msg_destroy(msg);
>          return SMSCCONN_FAILED_REJECTED;
>      }
>      
>      if (black_list &&
> -     numhash_find_number(black_list, sms->sms.sender)
> == 1) {
> +     numhash_find_number(black_list, msg->sms.sender)
> == 1) {
>       info(0, "Number <%s> is in black-list, message
> discarded",
> -          octstr_get_cstr(sms->sms.sender));
> -     bb_alog_sms(conn, sms, "REJECTED - black-listed
> SMS");
> -     msg_destroy(sms);
> +          octstr_get_cstr(msg->sms.sender));
> +     bb_alog_sms(conn, msg, "REJECTED - black-listed
> SMS");
> +     msg_destroy(msg);
>       return SMSCCONN_FAILED_REJECTED;
>      }
>  
> -    if (black_list_regex &&
> (gw_regex_matches(black_list_regex, sms->sms.sender)
> == NO_MATCH)) {
> +    if (black_list_regex &&
> (gw_regex_matches(black_list_regex, msg->sms.sender)
> == NO_MATCH)) {
>          info(0, "Number <%s> is not in black-list,
> message discarded",
> -             octstr_get_cstr(sms->sms.sender));
> -        bb_alog_sms(conn, sms, "REJECTED -
> black-regex-listed SMS");
> -        msg_destroy(sms);
> +             octstr_get_cstr(msg->sms.sender));
> +        bb_alog_sms(conn, msg, "REJECTED -
> black-regex-listed SMS");
> +        msg_destroy(msg);
>          return SMSCCONN_FAILED_REJECTED;
>      }
>  
> -    if (sms->sms.sms_type != report_mo)
> -     sms->sms.sms_type = mo;
> +    if (msg->sms.sms_type != report_mo)
> +     msg->sms.sms_type = mo;
>  
>      /* write to store (if enabled) */
>     if (store_save(msg) == -1)
>       return SMSCCONN_FAILED_TEMPORARILY;
>  
> -    copy = msg_duplicate(sms);
> +    copy = msg_duplicate(msg);
>  
>      /*
>       * Try to reroute internally to an smsc-id
> without leaving
> @@ -404,31 +387,31 @@
>           */
>          if (route_incoming_to_boxc(copy) == -1) {
>              warning(0, "incoming messages queue too
> long, dropping a message.");
> -            if (sms->sms.sms_type == report_mo)
> -                bb_alog_sms(conn, sms, "DROPPED
> Received DLR");
> +            if (msg->sms.sms_type == report_mo)
> +                bb_alog_sms(conn, msg, "DROPPED
> Received DLR");
>              else
> -                bb_alog_sms(conn, sms, "DROPPED
> Received SMS");
> +                bb_alog_sms(conn, msg, "DROPPED
> Received SMS");
>  
>              /* put nack into store-file */
> -            store_save_ack(sms, ack_failed);
> +            store_save_ack(msg, ack_failed);
>  
>              msg_destroy(copy);
>  
> -            msg_destroy(sms);
> +            msg_destroy(msg);
>              gwthread_sleep(0.1); /* letting the
> queue go down */
>              return SMSCCONN_FAILED_QFULL;
>          }
>      }
>  
> -    if (sms->sms.sms_type != report_mo)
> -     bb_alog_sms(conn, sms, "Receive SMS");
> +    if (msg->sms.sms_type != report_mo)
> +     bb_alog_sms(conn, msg, "Receive SMS");
>      else
> -     bb_alog_sms(conn, sms, "DLR SMS");
> +     bb_alog_sms(conn, msg, "DLR SMS");
>  
>      counter_increase(incoming_sms_counter);
>      if (conn != NULL)
> counter_increase(conn->received);
>  
> -    msg_destroy(sms);
> +    msg_destroy(msg);
>  
>      return 0;
>  }
> 



 
____________________________________________________________________________________
Yahoo! Music Unlimited
Access over 1 million songs.
http://music.yahoo.com/unlimited

Reply via email to