mtasc/mtasc.patch

Wed, 08 Feb 2012 20:07:00 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 08 Feb 2012 20:07:00 +0200
changeset 588
300d43423c2e
parent 112
6052d0605a74
permissions
-rw-r--r--

Update version, adapt patch, correct PID writing, correct build on newer
FreeBSD releases, and most importantly introduce new patch to try to
avoid segfault caused by multiple network interfaces with the same (or
no) address. This is common when configuring bridges and tunnels.

     1 Index: install.ml
     2 --- install.ml.orig	2006-08-02 17:59:19 +0200
     3 +++ install.ml	2008-05-30 17:49:27 +0200
     4 @@ -104,10 +104,10 @@
     5  in
     6  let startdir = Sys.getcwd() in
     7  try
     8 -	download();
     9 +	(* download(); *)
    10  	compile();
    11  	Sys.chdir startdir;
    12  with
    13  	Failure msg -> 
    14  		Sys.chdir startdir;
    15 -		prerr_endline msg; exit 1
    16 \ No newline at end of file
    17 +		prerr_endline msg; exit 1
    18 Index: ocaml/mtasc/parser.ml
    19 --- ocaml/mtasc/parser.ml.orig	2007-02-04 14:56:04.000000000 +0100
    20 +++ ocaml/mtasc/parser.ml	2009-02-25 13:52:56.848237653 +0100
    21 @@ -166,8 +166,8 @@
    22  	| [< '(Kwd For,p); '(POpen,_); c = parse_expr_opt; e = parse_for p c >] -> e
    23  	| [< '(Kwd If,p); cond = parse_eval; e = parse_expr_opt; e2 , p2 = parse_else (pos e) >] -> EIf (cond,wrap_var e,e2), punion p p2
    24  	| [< '(Kwd Return,p); v , p2 = parse_eval_option p; >] -> EReturn v , punion p p2
    25 -	| [< '(Kwd Break,p); >] -> EBreak , p
    26 -	| [< '(Kwd Continue,p); >] -> EContinue , p
    27 +	| [< '(Kwd Break,p); placeholder1 >] -> EBreak , p
    28 +	| [< '(Kwd Continue,p); placeholder2 >] -> EContinue , p
    29  	| [< '(Kwd While,p1); v = parse_eval; e = parse_expr_opt >] -> EWhile (v,wrap_var e,NormalWhile) , punion p1 (pos e)
    30  	| [< '(Kwd Do,p1); e = parse_expr; '(Kwd While,_); v = parse_eval; >] -> EWhile (v,wrap_var e,DoWhile) , punion p1 (pos v)
    31  	| [< '(Kwd Switch,p1); v = parse_eval; '(BrOpen,_); el, p2 = parse_switch false >] -> ESwitch (v,el) , punion p1 p2
    32 @@ -278,7 +278,7 @@
    34  and parse_expr_opt = parser
    35  	| [< e = parse_expr >] -> e
    36 -	| [< '(Next,p); >] -> EBlock [] , p
    37 +	| [< '(Next,p); placeholder3 >] -> EBlock [] , p
    39  and parse_for p c = parser
    40  	| [< '(Kwd In,_); v = parse_eval; '(PClose,p2); e = parse_expr_opt >] -> EForIn(c,v,wrap_var e) , punion p p2
    41 @@ -324,7 +324,7 @@
    42  and parse_block callb sp = parser
    43  	| [< e = callb; el,p = parse_block callb sp >] -> e :: el , p
    44  	| [< '(Next,_); el = parse_block callb sp >] -> el
    45 -	| [< '(BrClose,p); >] -> [] , p
    46 +	| [< '(BrClose,p); placeholder4 >] -> [] , p
    47  	| [< '(Eof,_) >] -> error Unclosed_parenthesis sp
    49  and parse_expr_list p = parser
    50 @@ -351,7 +351,7 @@
    52  and parse_import = parser
    53  	| [< '(Const (Ident name),_); p = parse_import2 name >] -> p
    54 -	| [< '(Binop OpMult,_); >] -> [] , None
    55 +	| [< '(Binop OpMult,_); placeholder5 >] -> [] , None
    57  and parse_import2 name = parser
    58  	| [< '(Dot,_); p , n = parse_import >] -> name :: p , n

mercurial