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.34 by root, Thu Aug 31 06:23:20 2006 UTC vs.
Revision 1.35 by root, Thu Aug 31 09:19:34 2006 UTC

404void reattach (attachable<subclass> *obj) 404void reattach (attachable<subclass> *obj)
405{ 405{
406 obj->optimise (); 406 obj->optimise ();
407 407
408 if (obj->self) 408 if (obj->self)
409 reattach (subclass::get_dt (), (subclass *)obj); 409 reattach ((data_type) cftype<subclass>::dt, (subclass *)obj);
410} 410}
411
412#include "kw_hash.h"
411 413
412object_freezer::object_freezer () 414object_freezer::object_freezer ()
413{ 415{
414 av = newAV (); 416 av = newAV ();
415 // TODO: fast dynbuf implementation... yeah, we need obstacks 417 // TODO: fast dynbuf implementation... yeah, we need obstacks
431 int idx = AvFILLp ((AV *)av) + 1; 433 int idx = AvFILLp ((AV *)av) + 1;
432 av_store (av, idx, SvREFCNT_inc (ext->self)); 434 av_store (av, idx, SvREFCNT_inc (ext->self));
433 435
434 sv_catpvf (text, "oid %d\n", idx); 436 sv_catpvf (text, "oid %d\n", idx);
435 } 437 }
438}
439
440void object_freezer::put (keyword k)
441{
442 sv_catpv (text, keyword_str [k]);
443}
444
445void object_freezer::put (const char *v)
446{
447 sv_catpv (text, v);
448}
449
450void object_freezer::put (int v)
451{
452 sv_catpvf (text, "%d\n", v);
436} 453}
437 454
438bool object_freezer::save (const char *filename) 455bool object_freezer::save (const char *filename)
439{ 456{
440 dSP; 457 dSP;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines