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

Comparing deliantra/server/include/cfperl.h (file contents):
Revision 1.66 by root, Sat May 26 15:44:03 2007 UTC vs.
Revision 1.69 by root, Sun May 27 23:49:49 2007 UTC

242 242
243 //TODO//temporary, used only for saving body locations 243 //TODO//temporary, used only for saving body locations
244 void put (const char *k, int v) 244 void put (const char *k, int v)
245 { 245 {
246 add (k); 246 add (k);
247 force (2 + sint32_digits);
247 add (' '); 248 fadd (' ');
248 add (sint32 (v)); 249 add (sint32 (v));
249 add ('\n'); 250 fadd ('\n');
250 } 251 }
251 252
252 template<typename T> 253 template<typename T>
253 void put_string (keyword k, const T &v) 254 void put_string (keyword k, const T &v)
254 { 255 {
278 put_string (k, v); 279 put_string (k, v);
279 } 280 }
280 281
281 void put (keyword k, double v) 282 void put (keyword k, double v)
282 { 283 {
283 char buf [128]; 284 force (MAX_KEYWORD_LEN + 2 + 32);
284 285 fadd (keyword_str [k], keyword_len [k]);
285 snprintf (buf, 128, "%.7g", v); 286 fadd (' ');
286 287 falloc (sprintf (ptr, "%.7g", v));
287 put (k, (const char *)buf); 288 fadd ('\n');
288 } 289 }
289 290
290 void put_(keyword k, sint64 v) 291 void put_(keyword k, sint64 v)
291 { 292 {
293 force (MAX_KEYWORD_LEN + 2 + sint64_digits);
292 add (keyword_str [k], keyword_len [k]); 294 fadd (keyword_str [k], keyword_len [k]);
293 add (' '); 295 fadd (' ');
294 add (v); 296 add (v);
295 add ('\n'); 297 fadd ('\n');
296 } 298 }
297 299
298 void put_(keyword k, sint32 v) 300 void put_(keyword k, sint32 v)
299 { 301 {
302 force (MAX_KEYWORD_LEN + 2 + sint32_digits);
300 add (keyword_str [k], keyword_len [k]); 303 fadd (keyword_str [k], keyword_len [k]);
301 add (' '); 304 fadd (' ');
302 add (v); 305 add (v);
303 add ('\n'); 306 fadd ('\n');
304 } 307 }
305 308
306 void put (keyword kbeg, keyword kend, const shstr &v) 309 void put (keyword kbeg, keyword kend, const shstr &v)
307 { 310 {
311 force (MAX_KEYWORD_LEN + 1);
308 add (keyword_str [kbeg], keyword_len [kbeg]); add ('\n'); 312 fadd (keyword_str [kbeg], keyword_len [kbeg]); fadd ('\n');
309 313
310 if (expect_true (v)) 314 if (expect_true (v))
311 { 315 {
312 add (v); 316 add (v);
313 add ('\n'); 317 add ('\n');
314 } 318 }
315 319
320 force (MAX_KEYWORD_LEN + 1);
316 add (keyword_str [kend], keyword_len [kend]); add ('\n'); 321 fadd (keyword_str [kend], keyword_len [kend]); fadd ('\n');
317 } 322 }
318 323
319 void put (keyword k, float v) { put (k, (double)v); } 324 void put (keyword k, float v) { put (k, (double)v); }
320 void put (keyword k, signed char v) { put_(k, (sint32)v); } 325 void put (keyword k, signed char v) { put_(k, (sint32)v); }
321 void put (keyword k, unsigned char v) { put_(k, (sint32)v); } 326 void put (keyword k, unsigned char v) { put_(k, (sint32)v); }
347 char *as_string (); // like strdup 352 char *as_string (); // like strdup
348 353
349 operator bool () { return !!av; } 354 operator bool () { return !!av; }
350}; 355};
351 356
352// compatibility support, should be removed when no longer needed
353void fprintf (object_freezer &freezer, const char *format, ...);
354void fputs (const char *s, object_freezer &freezer);
355
356struct object_thawer 357struct object_thawer
357{ 358{
358 char *line; // current beginning of line 359 char *line; // current beginning of line
359 SV *text; // text part 360 SV *text; // text part
360 AV *av; // perl part 361 AV *av; // perl part

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines