… | |
… | |
70 | SV *sv = newSVpv (str, 0); |
70 | SV *sv = newSVpv (str, 0); |
71 | SvUTF8_on (sv); |
71 | SvUTF8_on (sv); |
72 | free (str); |
72 | free (str); |
73 | |
73 | |
74 | return sv; |
74 | return sv; |
75 | } |
|
|
76 | |
|
|
77 | static SV * |
|
|
78 | new_ref (HV *hv, const char *klass) |
|
|
79 | { |
|
|
80 | return sv_bless (newRV ((SV *)hv), gv_stashpv (klass, 1)); |
|
|
81 | } |
75 | } |
82 | |
76 | |
83 | static SV * |
77 | static SV * |
84 | newSVptr (void *ptr, const char *klass) |
78 | newSVptr (void *ptr, const char *klass) |
85 | { |
79 | { |
… | |
… | |
1401 | SV * |
1395 | SV * |
1402 | rxvt_term::special_decode (SV *text) |
1396 | rxvt_term::special_decode (SV *text) |
1403 | CODE: |
1397 | CODE: |
1404 | { |
1398 | { |
1405 | wchar_t *wstr = sv2wcs (text); |
1399 | wchar_t *wstr = sv2wcs (text); |
1406 | int wlen = wcslen (wstr); |
|
|
1407 | int dlen = 0; |
1400 | int dlen = 0; |
1408 | |
1401 | |
1409 | // find length |
1402 | // find length |
1410 | for (wchar_t *s = wstr; *s; s++) |
1403 | for (wchar_t *s = wstr; *s; s++) |
1411 | if (*s == NOCHAR) |
1404 | if (*s == NOCHAR) |