[ 
https://bro-tracker.atlassian.net/browse/BIT-1159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15815#comment-15815
 ] 

Jon Siwek edited comment on BIT-1159 at 3/20/14 10:01 AM:
----------------------------------------------------------

Ok, I may end up removing support for the table/set ctor initialization 
shorthands.  It's already inconsistent because it only works with "global" 
variable inits, not with "local" ones due to a difference in they way they go 
through type checks.  Making globals do the same type checking as locals is 
what made me aware of the shorthand because then current usages don't pass the 
type check anymore.


was (Author: jsiwek):
Ok, I may end up removing support for the table/set ctor initialization 
shorthands.  It's already inconsistent because it only works with "global" 
variable inits, not with "local" ones due to a difference in they way they go 
through type checks.  Making globals do the same type checking as locals is 
what made me aware of the shorthand because then it doesn't pass the type check 
anymore.

> type checking inconsistencies
> -----------------------------
>
>                 Key: BIT-1159
>                 URL: https://bro-tracker.atlassian.net/browse/BIT-1159
>             Project: Bro Issue Tracker
>          Issue Type: Problem
>          Components: Bro
>    Affects Versions: git/master, 2.2
>            Reporter: Justin Azoff
>            Assignee: Jon Siwek
>            Priority: Low
>              Labels: language
>         Attachments: signature.asc
>
>
> If you try to compare a count to a port directly, you get the following:
> {code}
> operands must be of the same type (1500/tcp < 2000)
> {code}
> but if you have a record, and mixup the types like so, it silently fails:
> {code}
> type PortRange: record {
>     min: port &default=1/tcp;
>     max: port &default=65535/tcp;
> };
> global pr = PortRange($min=1000,$max=2000);
> #CORRECT: global pr = PortRange($min=1000/tcp,$max=2000/tcp);
> event bro_init()
> {
>     print (pr$min <= 1500/tcp  && 1500/tcp < pr$max) ? "OK" : "NOTOK";
> }
> {code}
> {code}
> $ bro a.bro
> NOTOK
> {code}



--
This message was sent by Atlassian JIRA
(v6.2-OD-10-004-WN#6253)
_______________________________________________
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev

Reply via email to