… | |
… | |
380 | { |
380 | { |
381 | if (SvOK (sv)) |
381 | if (SvOK (sv)) |
382 | return SvPTR (sv, klass); |
382 | return SvPTR (sv, klass); |
383 | else |
383 | else |
384 | return 0; |
384 | return 0; |
|
|
385 | } |
|
|
386 | |
|
|
387 | static inline SV * |
|
|
388 | newSVpv_utf8 (const char *s) |
|
|
389 | { |
|
|
390 | SV *sv = newSVpv (s, 0); |
|
|
391 | SvUTF8_on (sv); |
|
|
392 | return sv; |
385 | } |
393 | } |
386 | |
394 | |
387 | static inline SV * |
395 | static inline SV * |
388 | newSVpvn_utf8 (const char *s, STRLEN l) |
396 | newSVpvn_utf8 (const char *s, STRLEN l) |
389 | { |
397 | { |
… | |
… | |
1001 | { |
1009 | { |
1002 | CALL_BEGIN (4); |
1010 | CALL_BEGIN (4); |
1003 | CALL_ARG (ns); |
1011 | CALL_ARG (ns); |
1004 | CALL_ARG (color); |
1012 | CALL_ARG (color); |
1005 | CALL_ARG (type); |
1013 | CALL_ARG (type); |
1006 | CALL_ARG (msg); |
1014 | CALL_ARG_SV (newSVpv_utf8 (msg)); |
1007 | CALL_CALL ("cf::client::send_msg", G_VOID); |
1015 | CALL_CALL ("cf::client::send_msg", G_VOID); |
1008 | CALL_END; |
1016 | CALL_END; |
1009 | } |
1017 | } |
1010 | |
1018 | |
1011 | maptile * |
1019 | maptile * |