--- 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