ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/cfperl.xs
(Generate patch)

Comparing deliantra/server/server/cfperl.xs (file contents):
Revision 1.22 by root, Mon Aug 28 16:13:00 2006 UTC vs.
Revision 1.23 by root, Mon Aug 28 16:52:51 2006 UTC

360 SvREFCNT_dec ((SV *)self); 360 SvREFCNT_dec ((SV *)self);
361 self = 0; 361 self = 0;
362 } 362 }
363} 363}
364 364
365void 365void attachable_base::instantiate (data_type type, void *obj)
366object::instantiate_ ()
367{ 366{
368 dSP; 367 dSP;
369 ENTER; 368 ENTER;
370 SAVETMPS; 369 SAVETMPS;
371 PUSHMARK (SP); 370 PUSHMARK (SP);
372 EXTEND (SP, 2); 371 EXTEND (SP, 2);
373 PUSHs (sv_2mortal (newSVdt (DT_OBJECT, static_cast<object *>(this)))); 372 PUSHs (sv_2mortal (newSVdt (type, obj)));
374 PUSHs (sv_2mortal (newSVpv (attach, 0))); 373 PUSHs (sv_2mortal (newSVpv (attach, 0)));
374
375 free_string (attach);
376 attach = 0;
377
375 PUTBACK; 378 PUTBACK;
376 call_pv ("cf::instantiate", G_DISCARD | G_VOID | G_EVAL); 379 call_pv ("cf::instantiate", G_DISCARD | G_VOID | G_EVAL);
377 FREETMPS; 380 FREETMPS;
378 LEAVE; 381 LEAVE;
379 382
380 INVOKE_OBJECT (INSTANTIATE, this); 383 switch (type)
384 {
385 case DT_OBJECT: INVOKE_OBJECT (INSTANTIATE, obj); break;
386 case DT_MAP: INVOKE_MAP (INSTANTIATE, obj); break;
387 }
381} 388}
382 389
383///////////////////////////////////////////////////////////////////////////// 390/////////////////////////////////////////////////////////////////////////////
384 391
385void reattach (data_type type, void *obj) 392void reattach (data_type type, void *obj)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines