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.69 by root, Sun May 27 23:49:49 2007 UTC vs.
Revision 1.72 by root, Mon May 28 05:24:07 2007 UTC

238 add (' '), add (v); 238 add (' '), add (v);
239 239
240 add ('\n'); 240 add ('\n');
241 } 241 }
242 242
243 //TODO//temporary, used only for saving body locations
244 void put (const char *k, int v)
245 {
246 add (k);
247 force (2 + sint32_digits);
248 fadd (' ');
249 add (sint32 (v));
250 fadd ('\n');
251 }
252
253 template<typename T> 243 template<typename T>
254 void put_string (keyword k, const T &v) 244 void put_string (keyword k, const T &v)
255 { 245 {
256 int klen = keyword_len [k]; 246 int klen = keyword_len [k];
257 int vlen = v ? strlen (v) + 1 : 0; 247 int vlen = v ? strlen (v) + 1 : 0;
302 force (MAX_KEYWORD_LEN + 2 + sint32_digits); 292 force (MAX_KEYWORD_LEN + 2 + sint32_digits);
303 fadd (keyword_str [k], keyword_len [k]); 293 fadd (keyword_str [k], keyword_len [k]);
304 fadd (' '); 294 fadd (' ');
305 add (v); 295 add (v);
306 fadd ('\n'); 296 fadd ('\n');
307 }
308
309 void put (keyword kbeg, keyword kend, const shstr &v)
310 {
311 force (MAX_KEYWORD_LEN + 1);
312 fadd (keyword_str [kbeg], keyword_len [kbeg]); fadd ('\n');
313
314 if (expect_true (v))
315 {
316 add (v);
317 add ('\n');
318 }
319
320 force (MAX_KEYWORD_LEN + 1);
321 fadd (keyword_str [kend], keyword_len [kend]); fadd ('\n');
322 } 297 }
323 298
324 void put (keyword k, float v) { put (k, (double)v); } 299 void put (keyword k, float v) { put (k, (double)v); }
325 void put (keyword k, signed char v) { put_(k, (sint32)v); } 300 void put (keyword k, signed char v) { put_(k, (sint32)v); }
326 void put (keyword k, unsigned char v) { put_(k, (sint32)v); } 301 void put (keyword k, unsigned char v) { put_(k, (sint32)v); }
331 void put (keyword k, signed long v) { put_(k, (sint64)v); } 306 void put (keyword k, signed long v) { put_(k, (sint64)v); }
332 void put (keyword k, unsigned long v) { put_(k, (sint64)v); } 307 void put (keyword k, unsigned long v) { put_(k, (sint64)v); }
333 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); }
334 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); }
335 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
336 template<typename T> 326 template<typename T>
337 void put (keyword k, const T *v) 327 void put (keyword k, const T *v)
338 { 328 {
339 if (expect_true (v)) 329 if (v)
340 put (k, v->name); 330 put (k, v->name);
341 else 331 else
342 put (k, (const char *)0); 332 put (k, (const char *)0);
343 } 333 }
344 334
393 void get_ornull (shstr &sh) const { sh = value; } 383 void get_ornull (shstr &sh) const { sh = value; }
394 void get (shstr &sh) const { sh = value; } // might want to check for non-null here 384 void get (shstr &sh) const { sh = value; } // might want to check for non-null here
395 385
396 bool get_bool () const { return *value_nn == '1'; } 386 bool get_bool () const { return *value_nn == '1'; }
397 sint32 get_sint32 () const; 387 sint32 get_sint32 () const;
398 sint64 get_sint64 () const { return atoll (value_nn); } 388 sint64 get_sint64 () const { return strtoll (value_nn, 0, 10); }
399 double get_double () const { return atof (value_nn); } 389 double get_double () const { return strtod (value_nn, 0); }
400 390
401 void get (float &v) { v = get_double (); } 391 void get (float &v) { v = get_double (); }
402 void get (double &v) { v = get_double (); } 392 void get (double &v) { v = get_double (); }
403 393
404 void get (bool &i) { i = get_bool (); } 394 void get (bool &i) { i = get_bool (); }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines