-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59108/#review174528
-----------------------------------------------------------



I think centralising the comparison is clearly the correct thing to do.

I note that you could create a Macro that defines a constant symbol without 
having to manually count the size:

  #define MKSYMBOL(X) pn_bytes(sizeof(X)-1, X)

used like pn_bytes_equal(something, MKSYMBOL("this-is-a-symbol"));
Of course this will only work if X is const char *.

Or if you prefer without the quotes in the source:

  #define MKSYMBOL(X) pn_bytes(sizeof(#X)-1, #X)

used like pn_bytes_equal(symbol, MKSYMBOL(this-is-a-symbol));

Oddly this is more general in that it kind of always works.


proton-c/src/core/util.h
Lines 47 (patched)
<https://reviews.apache.org/r/59108/#comment247692>

    I would prefer to see this take 2 pn_bytes_t structs - 
pn_bytes_equal(pn_bytes_t a, pn_bytes_t b);
    
    For 2 reasons -
    - It would be better named then
    - You be able to avoid unecessary strlen calculations. A lot of the time 
you are comparing with a constant synbol string anyway where you don't need to 
call strlen at all.


- Andrew Stitcher


On May 10, 2017, 6:51 p.m., Alan Conway wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59108/
> -----------------------------------------------------------
> 
> (Updated May 10, 2017, 6:51 p.m.)
> 
> 
> Review request for qpid, Andrew Stitcher and Gordon Sim.
> 
> 
> Bugs: PROTON-1466
>     https://issues.apache.org/jira/browse/PROTON-1466
> 
> 
> Repository: qpid-proton-git
> 
> 
> Description
> -------
> 
> Creating links where one link name is a prefix of the other, e.g. "xx" and
> "xxyy" sometimes caused the links to be confused.
> 
> 
> Diffs
> -----
> 
>   proton-c/src/core/codec.c 67769ad8ac839242fcc08f008c60cf1b0e8a8bb8 
>   proton-c/src/core/transport.c 8777318db39e6304ee06c564579a751d0ca2307a 
>   proton-c/src/core/util.h b54f689302658fa685ee2df9762f1ca75a85af02 
>   proton-c/src/extra/scanner.c beb7322bbb128b3b42bcd7585d0b5da833ce01cd 
>   proton-c/src/tests/engine.c 87d8d95100944488d7f13aa5feca3d569e94da3e 
> 
> 
> Diff: https://reviews.apache.org/r/59108/diff/2/
> 
> 
> Testing
> -------
> 
> Passes all tests that passed previously, several python tests are failing for 
> me.
> 
> 
> Thanks,
> 
> Alan Conway
> 
>

Reply via email to