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.70 by root, Sun May 27 23:56:21 2007 UTC vs.
Revision 1.73 by root, Mon May 28 05:35:51 2007 UTC

294 fadd (' '); 294 fadd (' ');
295 add (v); 295 add (v);
296 fadd ('\n'); 296 fadd ('\n');
297 } 297 }
298 298
299 void put (keyword kbeg, keyword kend, const shstr &v)
300 {
301 force (MAX_KEYWORD_LEN + 1);
302 fadd (keyword_str [kbeg], keyword_len [kbeg]); fadd ('\n');
303
304 if (expect_true (v))
305 {
306 add (v);
307 add ('\n');
308 }
309
310 force (MAX_KEYWORD_LEN + 1);
311 fadd (keyword_str [kend], keyword_len [kend]); fadd ('\n');
312 }
313
314 void put (keyword k, float v) { put (k, (double)v); } 299 void put (keyword k, float v) { put (k, (double)v); }
315 void put (keyword k, signed char v) { put_(k, (sint32)v); } 300 void put (keyword k, signed char v) { put_(k, (sint32)v); }
316 void put (keyword k, unsigned char v) { put_(k, (sint32)v); } 301 void put (keyword k, unsigned char v) { put_(k, (sint32)v); }
317 void put (keyword k, signed short v) { put_(k, (sint32)v); } 302 void put (keyword k, signed short v) { put_(k, (sint32)v); }
318 void put (keyword k, unsigned short v) { put_(k, (sint32)v); } 303 void put (keyword k, unsigned short v) { put_(k, (sint32)v); }
321 void put (keyword k, signed long v) { put_(k, (sint64)v); } 306 void put (keyword k, signed long v) { put_(k, (sint64)v); }
322 void put (keyword k, unsigned long v) { put_(k, (sint64)v); } 307 void put (keyword k, unsigned long v) { put_(k, (sint64)v); }
323 void put (keyword k, signed long long v) { put_(k, (sint64)v); } 308 void put (keyword k, signed long long v) { put_(k, (sint64)v); }
324 void put (keyword k, unsigned long long v) { put_(k, (sint64)v); } 309 void put (keyword k, unsigned long long v) { put_(k, (sint64)v); }
325 310
311 void put (keyword kbeg, keyword kend, const shstr &v)
312 {
313 force (MAX_KEYWORD_LEN + 1);
314 fadd (keyword_str [kbeg], keyword_len [kbeg]); fadd ('\n');
315
316 if (expect_true (v))
317 {
318 add (v);
319 add ('\n');
320 }
321
322 force (MAX_KEYWORD_LEN + 1);
323 fadd (keyword_str [kend], keyword_len [kend]); fadd ('\n');
324 }
325
326 template<typename T> 326 template<typename T>
327 void put (keyword k, const T *v) 327 void put (keyword k, const T *v)
328 { 328 {
329 if (expect_true (v)) 329 if (v)
330 put (k, v->name); 330 put (k, v->name);
331 else 331 else
332 put (k, (const char *)0); 332 put (k, (const char *)0);
333 } 333 }
334 334
365 void get (attachable *obj, int oid); 365 void get (attachable *obj, int oid);
366 366
367 // parse next line 367 // parse next line
368 void next (); 368 void next ();
369 // skip the current key-value (usually fetch next line, for 369 // skip the current key-value (usually fetch next line, for
370 // multiline-fields, skips untilt he corresponding end-kw 370 // multiline-fields, skips till the corresponding end-kw
371 void skip (); 371 void skip ();
372
373 //TODO: remove, deprecated
374 keyword get_kv ()
375 {
376 next ();
377 return kw;
378 }
379 372
380 char *get_str () { return value; } // may be 0 373 char *get_str () { return value; } // may be 0
381 void get_ml (keyword kend, shstr &sh); 374 void get_ml (keyword kend, shstr &sh);
382 375
383 void get_ornull (shstr &sh) const { sh = value; } 376 void get_ornull (shstr &sh) const { sh = value; }
384 void get (shstr &sh) const { sh = value; } // might want to check for non-null here 377 void get (shstr &sh) const { sh = value; } // might want to check for non-null here
385 378
386 bool get_bool () const { return *value_nn == '1'; } 379 bool get_bool () const { return *value_nn == '1'; }
387 sint32 get_sint32 () const; 380 sint32 get_sint32 () const;
388 sint64 get_sint64 () const { return atoll (value_nn); } 381 sint64 get_sint64 () const { return strtoll (value_nn, 0, 10); }
389 double get_double () const { return atof (value_nn); } 382 double get_double () const { return strtod (value_nn, 0); }
390 383
391 void get (float &v) { v = get_double (); } 384 void get (float &v) { v = get_double (); }
392 void get (double &v) { v = get_double (); } 385 void get (double &v) { v = get_double (); }
393 386
394 void get (bool &i) { i = get_bool (); } 387 void get (bool &i) { i = get_bool (); }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines