summaryrefslogtreecommitdiff
path: root/devel/ruby-ncurses/patches/patch-aa
blob: d7f70dd9c81ebf1779031e6e3c178b5b70b581d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
$NetBSD: patch-aa,v 1.3 2010/09/10 06:02:58 taca Exp $

--- ncurses_wrap.c.orig	2009-07-31 10:52:36.000000000 +0000
+++ ncurses_wrap.c
@@ -475,7 +475,7 @@ static VALUE rbncurs_curses_version(){re
 static VALUE rbncurs_define_key(VALUE dummy, VALUE definition, VALUE keycode)
 {
     return INT2NUM(define_key((definition != Qnil)
-                              ? STR2CSTR(definition)
+                              ? StringValuePtr(definition)
                               : (char*)(NULL),
                               NUM2INT(keycode)));
 }
@@ -580,10 +580,10 @@ static VALUE rbncurs_addchstr(VALUE dumm
     return return_value;
 }
 static VALUE rbncurs_addnstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(addnstr(STR2CSTR(arg1),  NUM2INT(arg2)));
+    return INT2NUM(addnstr(StringValuePtr(arg1),  NUM2INT(arg2)));
 }
 static VALUE rbncurs_addstr(VALUE dummy, VALUE arg1) {
-    return INT2NUM(addstr(STR2CSTR(arg1)));
+    return INT2NUM(addstr(StringValuePtr(arg1)));
 }
 static VALUE rbncurs_attroff(VALUE dummy, VALUE arg1) {
     return INT2NUM(attroff(NUM2ULONG(arg1)));
@@ -1011,10 +1011,10 @@ static VALUE rbncurs_insertln(VALUE dumm
     return INT2NUM(insertln());
 }
 static VALUE rbncurs_insnstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(insnstr(STR2CSTR(arg1),  NUM2INT(arg2)));
+    return INT2NUM(insnstr(StringValuePtr(arg1),  NUM2INT(arg2)));
 }
 static VALUE rbncurs_insstr(VALUE dummy, VALUE arg1) {
-    return INT2NUM(insstr(STR2CSTR(arg1)));
+    return INT2NUM(insstr(StringValuePtr(arg1)));
 }
 #ifdef HAVE_INTRFLUSH
 static VALUE rbncurs_intrflush(VALUE dummy, VALUE arg1, VALUE arg2) {
@@ -1070,10 +1070,10 @@ static VALUE rbncurs_mvaddchstr(VALUE du
     return return_value;
 }
 static VALUE rbncurs_mvaddnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvaddnstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3),  NUM2INT(arg4)));
+    return INT2NUM(mvaddnstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3),  NUM2INT(arg4)));
 }
 static VALUE rbncurs_mvaddstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(mvaddstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3)));
+    return INT2NUM(mvaddstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3)));
 }
 #ifdef HAVE_MVCHGAT
 static VALUE rbncurs_mvchgat(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5, VALUE arg6) {
@@ -1106,10 +1106,10 @@ static VALUE rbncurs_mvinsch(VALUE dummy
     return INT2NUM(mvinsch(NUM2INT(arg1),  NUM2INT(arg2),  NUM2ULONG(arg3)));
 }
 static VALUE rbncurs_mvinsnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvinsnstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3),  NUM2INT(arg4)));
+    return INT2NUM(mvinsnstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3),  NUM2INT(arg4)));
 }
 static VALUE rbncurs_mvinsstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(mvinsstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3)));
+    return INT2NUM(mvinsstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3)));
 }
 #ifdef HAVE_MVVLINE
 static VALUE rbncurs_mvvline(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
@@ -1137,10 +1137,10 @@ static VALUE rbncurs_mvwaddchstr(VALUE d
     return return_value;
 }
 static VALUE rbncurs_mvwaddnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5) {
-    return INT2NUM(mvwaddnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4),  NUM2INT(arg5)));
+    return INT2NUM(mvwaddnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4),  NUM2INT(arg5)));
 }
 static VALUE rbncurs_mvwaddstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvwaddstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4)));
+    return INT2NUM(mvwaddstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4)));
 }
 #ifdef HAVE_MVWCHGAT
 static VALUE rbncurs_mvwchgat(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5, VALUE arg6, VALUE arg7) {
@@ -1171,10 +1171,10 @@ static VALUE rbncurs_mvwinsch(VALUE dumm
     return INT2NUM(mvwinsch(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  NUM2ULONG(arg4)));
 }
 static VALUE rbncurs_mvwinsnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5) {
-    return INT2NUM(mvwinsnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4),  NUM2INT(arg5)));
+    return INT2NUM(mvwinsnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4),  NUM2INT(arg5)));
 }
 static VALUE rbncurs_mvwinsstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvwinsstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4)));
+    return INT2NUM(mvwinsstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4)));
 }
 #ifdef HAVE_MVWVLINE
 static VALUE rbncurs_mvwvline(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5) {
@@ -1238,7 +1238,7 @@ static VALUE rbncurs_prefresh(VALUE dumm
 }
 #ifdef HAVE_PUTP
 static VALUE rbncurs_putp(VALUE dummy, VALUE arg1) {
-    return INT2NUM(putp(STR2CSTR(arg1)));
+    return INT2NUM(putp(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_QIFLUSH
@@ -1271,12 +1271,12 @@ static VALUE rbncurs_savetty(VALUE dummy
 }
 #ifdef HAVE_SCR_DUMP
 static VALUE rbncurs_scr_dump(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_dump(STR2CSTR(arg1)));
+    return INT2NUM(scr_dump(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_SCR_INIT
 static VALUE rbncurs_scr_init(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_init(STR2CSTR(arg1)));
+    return INT2NUM(scr_init(StringValuePtr(arg1)));
 }
 #endif
 static VALUE rbncurs_scrl(VALUE dummy, VALUE arg1) {
@@ -1290,12 +1290,12 @@ static VALUE rbncurs_scrollok(VALUE dumm
 }
 #ifdef HAVE_SCR_RESTORE
 static VALUE rbncurs_scr_restore(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_restore(STR2CSTR(arg1)));
+    return INT2NUM(scr_restore(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_SCR_SET
 static VALUE rbncurs_scr_set(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_set(STR2CSTR(arg1)));
+    return INT2NUM(scr_set(StringValuePtr(arg1)));
 }
 #endif
 static VALUE rbncurs_setscrreg(VALUE dummy, VALUE arg1, VALUE arg2) {
@@ -1352,7 +1352,7 @@ static VALUE rbncurs_slk_restore(VALUE d
     return INT2NUM(slk_restore());
 }
 static VALUE rbncurs_slk_set(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(slk_set(NUM2INT(arg1),  STR2CSTR(arg2),  NUM2INT(arg3)));
+    return INT2NUM(slk_set(NUM2INT(arg1),  StringValuePtr(arg2),  NUM2INT(arg3)));
 }
 static VALUE rbncurs_slk_touch(VALUE dummy) {
     return INT2NUM(slk_touch());
@@ -1383,17 +1383,17 @@ static VALUE rbncurs_termname(VALUE dumm
 }
 #ifdef HAVE_TIGETFLAG
 static VALUE rbncurs_tigetflag(VALUE dummy, VALUE arg1) {
-    return INT2NUM(tigetflag(STR2CSTR(arg1)));
+    return INT2NUM(tigetflag(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_TIGETNUM
 static VALUE rbncurs_tigetnum(VALUE dummy, VALUE arg1) {
-    return INT2NUM(tigetnum(STR2CSTR(arg1)));
+    return INT2NUM(tigetnum(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_TIGETSTR
 static VALUE rbncurs_tigetstr(VALUE dummy, VALUE arg1) {
-    return rb_str_new2(tigetstr(STR2CSTR(arg1)));
+    return rb_str_new2(tigetstr(StringValuePtr(arg1)));
 }
 #endif
 static VALUE rbncurs_timeout(VALUE dummy, VALUE arg1) {
@@ -1438,10 +1438,10 @@ static VALUE rbncurs_waddchstr(VALUE dum
     return return_value;
 }
 static VALUE rbncurs_waddnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(waddnstr(get_window(arg1),  STR2CSTR(arg2),  NUM2INT(arg3)));
+    return INT2NUM(waddnstr(get_window(arg1),  StringValuePtr(arg2),  NUM2INT(arg3)));
 }
 static VALUE rbncurs_waddstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(waddstr(get_window(arg1),  STR2CSTR(arg2)));
+    return INT2NUM(waddstr(get_window(arg1),  StringValuePtr(arg2)));
 }
 static VALUE rbncurs_wattron(VALUE dummy, VALUE arg1, VALUE arg2) {
     return INT2NUM(wattron(get_window(arg1),  NUM2INT(arg2)));
@@ -1514,10 +1514,10 @@ static VALUE rbncurs_winsertln(VALUE dum
     return INT2NUM(winsertln(get_window(arg1)));
 }
 static VALUE rbncurs_winsnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(winsnstr(get_window(arg1),  STR2CSTR(arg2),  NUM2INT(arg3)));
+    return INT2NUM(winsnstr(get_window(arg1),  StringValuePtr(arg2),  NUM2INT(arg3)));
 }
 static VALUE rbncurs_winsstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(winsstr(get_window(arg1),  STR2CSTR(arg2)));
+    return INT2NUM(winsstr(get_window(arg1),  StringValuePtr(arg2)));
 }
 static VALUE rbncurs_wmove(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
     return INT2NUM(wmove(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3)));
@@ -1619,7 +1619,7 @@ static VALUE rbncurs_unctrl(VALUE dummy,
 { return rb_str_new2(unctrl(NUM2ULONG(ch))); }
 static VALUE rbncurs_newterm(VALUE dummy, VALUE rb_type, VALUE rb_outfd, VALUE rb_infd)
 {
-    char * type = (rb_type == Qnil) ? (char*)0 : STR2CSTR(rb_type);
+    char * type = (rb_type == Qnil) ? (char*)0 : StringValuePtr(rb_type);
     int outfd = NUM2INT(rb_funcall(rb_outfd, rb_intern("to_i"), 0));
     int infd  = NUM2INT(rb_funcall(rb_infd, rb_intern("to_i"), 0));
     VALUE rb_screen =
@@ -2277,7 +2277,7 @@ static VALUE rbncurs_wmouse_trafo(VALUE 
 #ifdef HAVE_MCPRINT
 static VALUE rbncurs_mcprint(VALUE dummy, VALUE data, VALUE len)
 {
-    return INT2NUM(mcprint(STR2CSTR(data), NUM2INT(len)));
+    return INT2NUM(mcprint(StringValuePtr(data), NUM2INT(len)));
 }
 #endif
 #ifdef HAVE_HAS_KEY
@@ -2373,14 +2373,15 @@ static VALUE rbncurs_setsyx(VALUE dummy,
 
 static VALUE rbncurs_wprintw(int argc, VALUE * argv, VALUE dummy)
 {
+    VALUE v;
+
     if (argc < 2) {
         rb_raise(rb_eArgError, "function needs at least 2 arguments: a WINDOW"
                  " and a String");
         return Qnil;
     }
-    wprintw(get_window(argv[0]), "%s",
-            STR2CSTR(rb_funcall3(rb_mKernel, rb_intern("sprintf"), argc-1,
-                              argv + 1)));
+    v = rb_funcall3(rb_mKernel, rb_intern("sprintf"), argc-1, argv + 1);
+    wprintw(get_window(argv[0]), "%s", StringValuePtr(v));
     return Qnil;
 }
 
@@ -2394,14 +2395,14 @@ static VALUE rbncurs_tracef(int argc, VA
         return Qnil;
     }
     _tracef("%s",
-            STR2CSTR(funcall3(rb_mKernel, rb_intern("sprintf"), argc, argv)));
+            StringValuePtr(funcall3(rb_mKernel, rb_intern("sprintf"), argc, argv)));
     return Qnil;
 }
 #endif /* HAVE__TRACEF */
 #ifdef HAVE__TRACEDUMP
 static VALUE rbncurs_tracedump(VALUE dummy, VALUE rb_label, VALUE rb_win)
 {
-    _tracedump(STR2CSTR(rb_label), get_window(rb_win));
+    _tracedump(StringValuePtr(rb_label), get_window(rb_win));
 }
 #endif /* HAVE__TRACEDUMP */
 #ifdef HAVE__TRACEATTR
@@ -2706,7 +2707,7 @@ void init_SCREEN_methods(void)
 
 #ifdef HAVE_LOCALE_H
 static VALUE rbncurs_setlocale(VALUE dummy, VALUE category, VALUE locale)
-{   return rb_str_new2(setlocale(NUM2INT(category), STR2CSTR(locale)));}
+{   return rb_str_new2(setlocale(NUM2INT(category), StringValuePtr(locale)));}
 #endif
 
 static void init_safe_functions(void)