… | |
… | |
201 | inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } |
201 | inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } |
202 | inline void sv_to (SV *sv, signed int &v) { v = SvIV (sv); } |
202 | inline void sv_to (SV *sv, signed int &v) { v = SvIV (sv); } |
203 | inline void sv_to (SV *sv, unsigned int &v) { v = SvUV (sv); } |
203 | inline void sv_to (SV *sv, unsigned int &v) { v = SvUV (sv); } |
204 | inline void sv_to (SV *sv, signed long &v) { v = SvIV (sv); } |
204 | inline void sv_to (SV *sv, signed long &v) { v = SvIV (sv); } |
205 | inline void sv_to (SV *sv, unsigned long &v) { v = SvUV (sv); } |
205 | inline void sv_to (SV *sv, unsigned long &v) { v = SvUV (sv); } |
206 | inline void sv_to (SV *sv, signed long long &v) { v = SvVAL64 (sv); } |
206 | inline void sv_to (SV *sv, signed long long &v) { v = ( signed long long)SvVAL64 (sv); } |
207 | inline void sv_to (SV *sv, unsigned long long &v) { v = SvVAL64 (sv); } |
207 | inline void sv_to (SV *sv, unsigned long long &v) { v = (unsigned long long)SvVAL64 (sv); } |
208 | inline void sv_to (SV *sv, float &v) { v = SvNV (sv); } |
208 | inline void sv_to (SV *sv, float &v) { v = SvNV (sv); } |
209 | inline void sv_to (SV *sv, double &v) { v = SvNV (sv); } |
209 | inline void sv_to (SV *sv, double &v) { v = SvNV (sv); } |
210 | inline void sv_to (SV *sv, player * &v) { v = (player *)SvPTR_ornull (sv, "cf::player"); } |
210 | inline void sv_to (SV *sv, player * &v) { v = (player *)SvPTR_ornull (sv, "cf::player"); } |
211 | inline void sv_to (SV *sv, object * &v) { v = (object *)SvPTR_ornull (sv, "cf::object"); } |
211 | inline void sv_to (SV *sv, object * &v) { v = (object *)SvPTR_ornull (sv, "cf::object"); } |
212 | inline void sv_to (SV *sv, archetype * &v) { v = (archetype *)SvPTR_ornull (sv, "cf::arch"); } |
212 | inline void sv_to (SV *sv, archetype * &v) { v = (archetype *)SvPTR_ornull (sv, "cf::arch"); } |
… | |
… | |
220 | |
220 | |
221 | template<class T> |
221 | template<class T> |
222 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
222 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
223 | |
223 | |
224 | template<int N> |
224 | template<int N> |
225 | inline void sv_to (SV *sv, char (&v)[N]) { snprintf (v, N, "%s", SvPV_nolen (sv)); } |
225 | inline void sv_to (SV *sv, char (&v)[N]) { assign (v, SvPV_nolen (sv)); } |
226 | |
226 | |
227 | static SV * |
227 | static SV * |
228 | newSVdt_va (va_list &ap, data_type type) |
228 | newSVdt_va (va_list &ap, data_type type) |
229 | { |
229 | { |
230 | SV *sv; |
230 | SV *sv; |
… | |
… | |
1767 | SET_FLAG (op, flag); |
1767 | SET_FLAG (op, flag); |
1768 | else |
1768 | else |
1769 | CLEAR_FLAG (op, flag); |
1769 | CLEAR_FLAG (op, flag); |
1770 | OUTPUT: RETVAL |
1770 | OUTPUT: RETVAL |
1771 | |
1771 | |
|
|
1772 | object *head (object *op) |
|
|
1773 | PROTOTYPE: $ |
|
|
1774 | CODE: |
|
|
1775 | RETVAL = op->head ? op->head : op; |
|
|
1776 | OUTPUT: RETVAL |
|
|
1777 | |
|
|
1778 | int is_head (object *op) |
|
|
1779 | PROTOTYPE: $ |
|
|
1780 | CODE: |
|
|
1781 | RETVAL = !op->head; |
|
|
1782 | OUTPUT: RETVAL |
|
|
1783 | |
1772 | void |
1784 | void |
1773 | inv (object *obj) |
1785 | inv (object *obj) |
1774 | PROTOTYPE: $ |
1786 | PROTOTYPE: $ |
1775 | PPCODE: |
1787 | PPCODE: |
1776 | { |
1788 | { |