Hi,

At Sun, 17 Aug 2003 17:23:52 +0900,
Elliott Hughes wrote:
> This does, though, and if it doesn't break other OSes looks like the least
> unpleasant patch yet:

It seems that _XOPEN_SOURCE_EXTENDED has no effect at all.

Does this work?


Index: ext/curses/curses.c =================================================================== RCS file: /cvs/ruby/src/ruby/ext/curses/curses.c,v retrieving revision 1.20 diff -u -2 -p -w -r1.20 curses.c --- ext/curses/curses.c 15 Aug 2003 03:01:52 -0000 1.20 +++ ext/curses/curses.c 17 Aug 2003 13:57:06 -0000 @@ -15,9 +15,6 @@ #include "ruby.h" - -#include <stdio.h> #include "rubyio.h" -#define _XOPEN_SOURCE_EXTENDED 1 #if defined(HAVE_NCURSES_H) # include <ncurses.h> Index: ext/curses/extconf.rb =================================================================== RCS file: /cvs/ruby/src/ruby/ext/curses/extconf.rb,v retrieving revision 1.14 diff -u -2 -p -w -r1.14 extconf.rb --- ext/curses/extconf.rb 15 Aug 2003 03:01:52 -0000 1.14 +++ ext/curses/extconf.rb 17 Aug 2003 14:04:55 -0000 @@ -21,4 +21,20 @@ if make for f in %w(isendwin ungetch beep getnstr wgetnstr doupdate flash deleteln wdeleteln keypad keyname init_color wresize resizeterm) have_func(f) + end + flag = "-D_XOPEN_SOURCE_EXTENDED" + if try_compile(<<"SRC", flag) +#if defined(HAVE_NCURSES_H) +# include <ncurses.h> +#elif defined(HAVE_NCURSES_CURSES_H) +# include <ncurses/curses.h> +#elif defined(HAVE_CURSES_COLR_CURSES_H) +# include <varargs.h> +# include <curses_colr/curses.h> +#else +# include <curses.h> +#endif +int test_var[sizeof(char*)-sizeof(int)]; +SRC + $defs << flag end create_makefile("curses")
-- Nobu Nakada