Re: [PATCH obexd 03/10] Store received headers in gw_obex_xfer object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
2011/6/20 Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx>:
> Hi Jakub,
>
> On Sun, Jun 19, 2011 at 3:59 AM, Jakub Adamek <adamek.kuba@xxxxxxxxx> wrote:
>> ---
>>  gwobex/obex-priv.c |   22 ++++++++++++++++++++++
>>  1 files changed, 22 insertions(+), 0 deletions(-)
>>
>> diff --git a/gwobex/obex-priv.c b/gwobex/obex-priv.c
>> index aba7dd7..b9216e5 100644
>> --- a/gwobex/obex-priv.c
>> +++ b/gwobex/obex-priv.c
>> @@ -39,6 +39,7 @@
>>  #include <sys/socket.h>
>>
>>  #include <openobex/obex.h>
>> +#include <openobex/obex_const.h>
>>
>>  #ifdef HAVE_CONFIG_H
>>  # include "config.h"
>> @@ -335,6 +336,7 @@ static void get_non_body_headers(obex_t *handle, obex_object_t *object,
>>     obex_headerdata_t hv;
>>     uint8_t hi;
>>     unsigned int hlen;
>> +    struct a_header *ah;
>>
>>     xfer->target_size = GW_OBEX_UNKNOWN_LENGTH;
>>     xfer->modtime = -1;
>> @@ -358,6 +360,26 @@ static void get_non_body_headers(obex_t *handle, obex_object_t *object,
>>                     xfer->apparam_size = 0;
>>                 break;
>>             default:
>> +                ah = g_new0(struct a_header, 1);
>> +                ah->hi = hi;
>> +                ah->hv_size = hlen;
>> +                switch (hi & OBEX_HDR_TYPE_MASK) {
>> +                    case OBEX_HDR_TYPE_UINT8:
>> +                    case OBEX_HDR_TYPE_UINT32:
>> +                        ah->hv = hv;
>> +                        break;
>> +                    case OBEX_HDR_TYPE_BYTES:
>> +                    case OBEX_HDR_TYPE_UNICODE:
>> +                        ah->hv.bs = g_try_malloc(hlen);
>> +                        if (ah->hv.bs) {
>> +                            memcpy((void *) ah->hv.bs, hv.bs, hlen);
>> +                            ah->hv_size = hlen;
>> +                        } else {
>> +                            ah->hv_size = hlen;
>> +                        }
>
> No need to add braces for single line statements.
Will fix. In any case this is badly done, since I think I should test
if g_try_malloc returned NULL because of hlen=0 or because of failure.

>
>> +                        break;
>> +                }
>> +                xfer->aheaders = g_slist_append(xfer->aheaders, ah);
>
> I would suggest having this code separated in another function e.g.
> get_aheader, it is easier to identify what the code is doing and
> switch inside a switch is not very nice to read/understand IMO.
Ok.
>
> --
> Luiz Augusto von Dentz
>
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux