Ok, I am fine with that!

regards,
Anders Widell

On 2013-12-11 06:31, Ramesh Betham wrote:
> Hi Anders,
>
> Let me submit the set of patches what I published in this cycle.
> Still there is a scope of stream lining the legacy BASE code, will 
> take it up in the next iteration.
>
> Thanks,
> Ramesh.
>
> On 12/10/2013 2:25 PM, Anders Widell wrote:
>> The macro definitions of m_KEY_CMP and m_GET_BIT are wrong: macro 
>> parameters must always be surrounded with parentheses in the macro 
>> expression:
>>
>> #define m_KEY_CMP(t, k1, k2) memcmp(k1, k2, 
>> (size_t)(t)->params.key_size)
>> #define m_GET_BIT(key, bit) ((bit < 0) ? 0 : ((int)((*((key) + (bit 
>> >> 3))) >> (7 - (bit & 0x07))) & 0x01))
>>
>> should be:
>>
>> #define m_KEY_CMP(t, k1, k2) memcmp((k1), (k2), 
>> (size_t)(t)->params.key_size)
>> #define m_GET_BIT(key, bit) (((bit) < 0) ? 0 : ((int)((*((key) + 
>> ((bit) >> 3))) >> (7 - ((bit) & 0x07))) & 0x01))
>>
>> On the other hand, why not convert them to inline functions instead? 
>> Also, they are only used in patricia.c, so I suggest removing 
>> m_KEY_CMP and m_GET_BIT from ncspatricia.h and instead adding the 
>> following inline functions in patricia.c (they should also be given 
>> better names, but I haven't done that here):
>>
>> #include <stdint.h>
>> #include <string.h>
>>
>> static inline int m_KEY_CMP(const NCS_PATRICIA_TREE* t, const 
>> uint8_t* k1, const uint8_t* k2)
>> {
>>     return memcmp(k1, k2, t->params.key_size);
>> }
>>
>> static inline int m_GET_BIT(const uint8_t* key, int bit)
>> {
>>     return (bit < 0) ? 0 : ((int) ((*(key + (bit >> 3))) >> (7 - (bit 
>> & 0x07))) & 0x01);
>> }
>>
>> regards,
>> Anders Widell
>>
>> 2013-12-05 13:51, ramesh.bet...@oracle.com skrev:
>>>   osaf/libs/core/common/saf_edu.c |   2 +-
>>>   osaf/libs/core/include/ncspatricia.h    |   3 +++
>>>   osaf/libs/core/leap/hj_edp.c            |   2 +-
>>>   osaf/libs/core/leap/hj_edu.c            |   2 +-
>>>   osaf/libs/core/leap/include/Makefile.am |   1 -
>>>   osaf/libs/core/leap/include/patricia.h  |  39 
>>> ---------------------------------------
>>>   osaf/libs/core/leap/patricia.c          |   2 +-
>>>   osaf/libs/core/mds/mds_main.c           |   2 +-
>>>   8 files changed, 8 insertions(+), 45 deletions(-)
>>>
>>>
>>> diff --git a/osaf/libs/core/common/saf_edu.c 
>>> b/osaf/libs/core/common/saf_edu.c
>>> --- a/osaf/libs/core/common/saf_edu.c
>>> +++ b/osaf/libs/core/common/saf_edu.c
>>> @@ -30,7 +30,7 @@
>>>     #include <ncsgl_defs.h>
>>>   -#include "patricia.h"
>>> +#include "ncspatricia.h"
>>>   #include "ncsencdec_pub.h"
>>>     #include "saAis.h"
>>> diff --git a/osaf/libs/core/include/ncspatricia.h 
>>> b/osaf/libs/core/include/ncspatricia.h
>>> --- a/osaf/libs/core/include/ncspatricia.h
>>> +++ b/osaf/libs/core/include/ncspatricia.h
>>> @@ -47,6 +47,9 @@ extern "C" {
>>>     #include "ncsgl_defs.h"
>>>   +#define m_KEY_CMP(t, k1, k2) memcmp(k1, k2, 
>>> (size_t)(t)->params.key_size)
>>> +#define m_GET_BIT(key, bit)  ((bit < 0) ? 0 : ((int)((*((key) + 
>>> (bit >> 3))) >> (7 - (bit & 0x07))) & 0x01))
>>> +
>>>       typedef struct ncs_patricia_params {
>>>           int key_size;    /* 1..NCS_PATRICIA_MAX_KEY_SIZE - in 
>>> OCTETS */
>>>           int info_size;    /* NOT USED!  Present for 
>>> backward-compatibility only! */
>>> diff --git a/osaf/libs/core/leap/hj_edp.c 
>>> b/osaf/libs/core/leap/hj_edp.c
>>> --- a/osaf/libs/core/leap/hj_edp.c
>>> +++ b/osaf/libs/core/leap/hj_edp.c
>>> @@ -28,7 +28,7 @@
>>>     #include <ncsgl_defs.h>
>>>   #include "ncs_osprm.h"
>>> -#include "patricia.h"
>>> +#include "ncspatricia.h"
>>>   #include "ncssysf_mem.h"
>>>   #include "ncsencdec_pub.h"
>>>   #include "ncs_edu.h"
>>> diff --git a/osaf/libs/core/leap/hj_edu.c 
>>> b/osaf/libs/core/leap/hj_edu.c
>>> --- a/osaf/libs/core/leap/hj_edu.c
>>> +++ b/osaf/libs/core/leap/hj_edu.c
>>> @@ -31,7 +31,7 @@
>>>   #include "ncssysf_def.h"
>>>   #include "ncssysf_mem.h"
>>>   #include "sysf_def.h"
>>> -#include "patricia.h"
>>> +#include "ncspatricia.h"
>>>   #include "ncssysfpool.h"
>>>   #include "ncsencdec_pub.h"
>>>   #include "ncs_edu.h"
>>> diff --git a/osaf/libs/core/leap/include/Makefile.am 
>>> b/osaf/libs/core/leap/include/Makefile.am
>>> --- a/osaf/libs/core/leap/include/Makefile.am
>>> +++ b/osaf/libs/core/leap/include/Makefile.am
>>> @@ -22,7 +22,6 @@ noinst_HEADERS = \
>>>       ncsdlib.h \
>>>       ncs_edu.h \
>>>       ncs_hdl.h \
>>> -    patricia.h \
>>>       sysf_def.h \
>>>       sysf_exc_scr.h \
>>>       sysf_ipc.h \
>>> diff --git a/osaf/libs/core/leap/include/patricia.h 
>>> b/osaf/libs/core/leap/include/patricia.h
>>> deleted file mode 100644
>>> --- a/osaf/libs/core/leap/include/patricia.h
>>> +++ /dev/null
>>> @@ -1,39 +0,0 @@
>>> -/*      -*- OpenSAF  -*-
>>> - *
>>> - * (C) Copyright 2008 The OpenSAF Foundation
>>> - *
>>> - * This program is distributed in the hope that it will be useful, but
>>> - * WITHOUT ANY WARRANTY; without even the implied warranty of 
>>> MERCHANTABILITY
>>> - * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are 
>>> licensed
>>> - * under the GNU Lesser General Public License Version 2.1, 
>>> February 1999.
>>> - * The complete license can be accessed from the following location:
>>> - * http://opensource.org/licenses/lgpl-license.php
>>> - * See the Copying file included with the OpenSAF distribution for 
>>> full
>>> - * licensing terms.
>>> - *
>>> - * Author(s): Emerson Network Power
>>> - *
>>> - */
>>> -
>>> -/*****************************************************************************
>>>  
>>>
>>> -
>>> -  DESCRIPTION:
>>> -
>>> -  This module contains declarations pertaining to implementation of
>>> -  patricia tree search/add/delete functions.
>>> -
>>> -******************************************************************************
>>>  
>>>
>>> -*/
>>> -
>>> -/*
>>> - * Module Inclusion Control...
>>> - */
>>> -#ifndef _PATRICIA_H_
>>> -#define _PATRICIA_H_
>>> -
>>> -#include "ncspatricia.h"
>>> -
>>> -#define m_KEY_CMP(t, k1, k2) memcmp(k1, k2, 
>>> (size_t)(t)->params.key_size)
>>> -#define m_GET_BIT(key, bit)  ((bit < 0) ? 0 : ((int)((*((key) + 
>>> (bit >> 3))) >> (7 - (bit & 0x07))) & 0x01))
>>> -
>>> -#endif
>>> diff --git a/osaf/libs/core/leap/patricia.c 
>>> b/osaf/libs/core/leap/patricia.c
>>> --- a/osaf/libs/core/leap/patricia.c
>>> +++ b/osaf/libs/core/leap/patricia.c
>>> @@ -43,7 +43,7 @@
>>>   #include "ncs_osprm.h"
>>>   #include "ncssysfpool.h"
>>>   #include "ncssysf_def.h"
>>> -#include "patricia.h"
>>> +#include "ncspatricia.h"
>>>     const static uint8_t BitMasks[9] = {
>>>       0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff
>>> diff --git a/osaf/libs/core/mds/mds_main.c 
>>> b/osaf/libs/core/mds/mds_main.c
>>> --- a/osaf/libs/core/mds/mds_main.c
>>> +++ b/osaf/libs/core/mds/mds_main.c
>>> @@ -35,7 +35,7 @@
>>>   #include "ncssysf_tmr.h"
>>>   #include "mds_dl_api.h"
>>>   #include "mds_core.h"
>>> -#include "patricia.h"
>>> +#include "ncspatricia.h"
>>>   #include "mds_log.h"
>>>   #include "ncs_main_pub.h"
>>>   #include "mds_dt_tcp.h"
>>>
>>> ------------------------------------------------------------------------------
>>>  
>>>
>>> Sponsored by Intel(R) XDK
>>> Develop, test and display web and hybrid apps with a single code base.
>>> Download it for free now!
>>> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
>>>  
>>>
>>> _______________________________________________
>>> Opensaf-devel mailing list
>>> Opensaf-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/opensaf-devel
>>>
>>>
>>
>


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to