Index: functions.c =================================================================== RCS file: /sources/ocaml-tmk/ocaml-tmk/functions.c,v retrieving revision 1.2 diff -u -r1.2 functions.c --- functions.c 14 Aug 2007 16:49:52 -0000 1.2 +++ functions.c 15 Nov 2007 19:37:50 -0000 @@ -214,13 +214,13 @@ /* getyx */ ML1d(getyx,int*int,window) -BEG1 int x,y; getyx(a_window(aa),y,x); r_int_int(x,y); END +BEG1 int x,y; getyx(a_window(aa),y,x); r_int_int(y,x); END ML1d(getparyx,int*int,window) -BEG1 int x,y; getparyx(a_window(aa),y,x); r_int_int(x,y); END +BEG1 int x,y; getparyx(a_window(aa),y,x); r_int_int(y,x); END ML1d(getbegyx,int*int,window) -BEG1 int x,y; getbegyx(a_window(aa),y,x); r_int_int(x,y); END +BEG1 int x,y; getbegyx(a_window(aa),y,x); r_int_int(y,x); END ML1d(getmaxyx,int*int,window) -BEG1 int x,y; getmaxyx(a_window(aa),y,x); r_int_int(x,y); END +BEG1 int x,y; getmaxyx(a_window(aa),y,x); r_int_int(y,x); END /* inch */ @@ -383,7 +383,7 @@ ML0(resetty,unit) ML0(savetty,unit) ML0d(getsyx,int*int) -BEG0 int x,y; getsyx(y,x); r_int_int(x,y); END +BEG0 int x,y; getsyx(y,x); r_int_int(y,x); END ML2(setsyx,unit,int,int) ML1(curs_set,err,int) ML1(napms,unit,int) @@ -392,7 +392,7 @@ BEG1 ripoffline(Bool_val(aa)?1:-1,ripoff_callback); CAMLreturn(Val_unit); END ML0d(get_ripoff,window*int) BEG0 if(ripoff_niv==0) failwith("get_ripoff"); ripoff_niv--; - r_int_int(ripoff_w[ripoff_niv],ripoff_l[ripoff_niv]); END + r_window_int(ripoff_w[ripoff_niv],ripoff_l[ripoff_niv]); END /* mouse */ Index: ml_curses.c =================================================================== RCS file: /sources/ocaml-tmk/ocaml-tmk/ml_curses.c,v retrieving revision 1.2 diff -u -r1.2 ml_curses.c --- ml_curses.c 14 Aug 2007 16:49:52 -0000 1.2 +++ ml_curses.c 15 Nov 2007 19:37:50 -0000 @@ -29,6 +29,12 @@ Store_field(ret,0,Val_int(x)); \ Store_field(ret,1,Val_int(y)); \ CAMLreturn(ret); } +#define r_window_int(x,y) \ + { CAMLlocal1(ret); AWB(ret); \ + ret=alloc_tuple(2); \ + Store_field(ret,0,(value)(x)); \ + Store_field(ret,1,Val_int(y)); \ + CAMLreturn(ret); } #define r_int_int_int(x,y,z) \ { CAMLlocal1(ret); AWB(ret); \ ret=alloc_tuple(3); \