ncursesw 1.4.0.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. data/VERSION +1 -1
  2. data/extconf.rb +3 -0
  3. data/form_wrap.h +2 -0
  4. data/ncurses_wrap.c +16 -0
  5. metadata +1 -1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.0.0
1
+ 1.4.1
data/extconf.rb CHANGED
@@ -146,6 +146,9 @@ if have_library("formw", "form_driver_w")
146
146
  $CFLAGS += " -DHAVE_FORM_DRIVER_W"
147
147
  end
148
148
 
149
+ have_func("add_wch")
150
+ have_func("get_wch")
151
+
149
152
  puts "checking for the menu library..."
150
153
  if have_header("menu.h")
151
154
  have_library("menu", "new_menu")
@@ -26,6 +26,8 @@
26
26
  #if !defined(FORM_HH) && (defined(HAVE_FORM_H) || defined(HAVE_NCURSESW_FORM_H))
27
27
  #define FORM_HH
28
28
 
29
+ # define _XOPEN_SOURCE_EXTENDED
30
+
29
31
  #ifdef HAVE_FORM_H
30
32
  #include <form.h>
31
33
  #else
@@ -573,10 +573,12 @@ static chtype * RB2CHSTR(VALUE array)
573
573
  static VALUE rbncurs_addch(VALUE dummy, VALUE arg1) {
574
574
  return INT2NUM(addch((int) NUM2ULONG(arg1)));
575
575
  }
576
+ #ifdef HAVE_ADD_WCH
576
577
  static VALUE rbncurs_add_wch(VALUE dummy, VALUE arg1) {
577
578
  wchar_t c = NUM2ULONG(arg1);
578
579
  return INT2NUM(add_wch((cchar_t *)&c));
579
580
  }
581
+ #endif
580
582
  static VALUE rbncurs_addchnstr(VALUE dummy, VALUE arg1, VALUE arg2) {
581
583
  chtype * chstr = RB2CHSTR(arg1);
582
584
  VALUE return_value = INT2NUM(addchnstr(chstr, NUM2INT(arg2)));
@@ -918,6 +920,7 @@ static int rbncurshelper_nonblocking_wgetch(WINDOW *c_win) {
918
920
  return rbncurshelper_do_wgetch_functor (c_win, &wgetch);
919
921
  }
920
922
 
923
+ #ifdef HAVE_GET_WCH
921
924
  /* not thread safe: wide char getch */
922
925
  static wint_t wget_wch_back;
923
926
  static int my_wget_wch (WINDOW *c_win) {
@@ -931,14 +934,17 @@ static VALUE rbncurshelper_nonblocking_wget_wch(WINDOW *c_win) {
931
934
  VALUE r = rb_assoc_new (INT2NUM(retcode), LONG2NUM(wget_wch_back));
932
935
  return r;
933
936
  }
937
+ #endif
934
938
 
935
939
  static VALUE rbncurs_getch(VALUE dummy) {
936
940
  return INT2NUM(rbncurshelper_nonblocking_wgetch(stdscr));
937
941
  }
938
942
 
943
+ #ifdef HAVE_GET_WCH
939
944
  static VALUE rbncurs_get_wch(VALUE dummy) {
940
945
  return rbncurshelper_nonblocking_wget_wch(stdscr);
941
946
  }
947
+ #endif
942
948
 
943
949
  static VALUE rbncurs_halfdelay(VALUE dummy, VALUE arg1) {
944
950
  return INT2NUM(rbncurshelper_halfdelay_cbreak(NUM2INT(arg1), 1));
@@ -1506,10 +1512,12 @@ static VALUE rbncurs_vline(VALUE dummy, VALUE arg1, VALUE arg2) {
1506
1512
  static VALUE rbncurs_waddch(VALUE dummy, VALUE arg1, VALUE arg2) {
1507
1513
  return INT2NUM(waddch(get_window(arg1), (int) NUM2ULONG(arg2)));
1508
1514
  }
1515
+ #ifdef HAVE_ADD_WCH
1509
1516
  static VALUE rbncurs_wadd_wch(VALUE dummy, VALUE arg1, VALUE arg2) {
1510
1517
  cchar_t t = { 0, { NUM2ULONG(arg2), 0 } };
1511
1518
  return INT2NUM(wadd_wch(get_window(arg1), &t));
1512
1519
  }
1520
+ #endif
1513
1521
  static VALUE rbncurs_waddchnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
1514
1522
  chtype * chstr = RB2CHSTR(arg2);
1515
1523
  VALUE return_value = INT2NUM(waddchnstr(get_window(arg1), chstr,
@@ -1585,9 +1593,11 @@ static VALUE rbncurs_wgetch(VALUE dummy, VALUE arg1) {
1585
1593
  return INT2NUM(rbncurshelper_nonblocking_wgetch(get_window(arg1)));
1586
1594
  }
1587
1595
 
1596
+ #ifdef HAVE_GET_WCH
1588
1597
  static VALUE rbncurs_wget_wch(VALUE dummy, VALUE arg1) {
1589
1598
  return rbncurshelper_nonblocking_wget_wch(get_window(arg1));
1590
1599
  }
1600
+ #endif
1591
1601
 
1592
1602
  static VALUE rbncurs_whline(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
1593
1603
  return INT2NUM(whline(get_window(arg1), (int) NUM2ULONG(arg2), NUM2INT(arg3)));
@@ -1731,7 +1741,9 @@ static VALUE rbncurs_newterm(VALUE dummy, VALUE rb_type, VALUE rb_outfd, VALUE r
1731
1741
 
1732
1742
  static void init_functions_2(void) {
1733
1743
  NCFUNC(addch, 1);
1744
+ #ifdef HAVE_ADD_WCH
1734
1745
  NCFUNC(add_wch, 1);
1746
+ #endif
1735
1747
  NCFUNC(addchnstr, 2);
1736
1748
  NCFUNC(addchstr, 1);
1737
1749
  NCFUNC(addnstr, 2);
@@ -1814,8 +1826,10 @@ static void init_functions_2(void) {
1814
1826
  NCFUNC(flushinp, 0);
1815
1827
  NCFUNC(getbkgd, 1);
1816
1828
  NCFUNC(getch, 0);
1829
+ #ifdef HAVE_GET_WCH
1817
1830
  NCFUNC(get_wch, 0);
1818
1831
  NCFUNC(wget_wch, 1);
1832
+ #endif
1819
1833
  NCFUNC(halfdelay, 1);
1820
1834
  rb_define_module_function(mNcurses, "has_colors?",
1821
1835
  (&rbncurs_has_colors),
@@ -1995,7 +2009,9 @@ static void init_functions_2(void) {
1995
2009
  #endif
1996
2010
  NCFUNC(vline, 2);
1997
2011
  NCFUNC(waddch, 2);
2012
+ #ifdef HAVE_ADD_WCH
1998
2013
  NCFUNC(wadd_wch, 2);
2014
+ #endif
1999
2015
  NCFUNC(waddchnstr, 3);
2000
2016
  NCFUNC(waddchstr, 2);
2001
2017
  NCFUNC(waddnstr, 3);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ncursesw
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0.0
4
+ version: 1.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: