comparison xrogue/state.c @ 225:4f6e056438eb

Merge the GCC5 and build fix branches.
author John "Elwin" Edwards
date Wed, 02 Mar 2016 21:28:34 -0500
parents f54901b9c39b
children 7c1cb43f346e
comparison
equal deleted inserted replaced
224:4d0f53998e8a 225:4f6e056438eb
95 int format_error = FALSE; 95 int format_error = FALSE;
96 96
97 int save_debug = FALSE; 97 int save_debug = FALSE;
98 #define DBG(x) {if (save_debug) rsPrintf x;} 98 #define DBG(x) {if (save_debug) rsPrintf x;}
99 99
100 bool rs_read_new_string(int inf, char **s);
101 int find_list_ptr(struct linked_list *l, void *ptr);
102 bool rs_write_coord_list(FILE *savef, struct linked_list *l);
103 bool rs_read_coord_list(int inf, struct linked_list **list);
104 int list_size(struct linked_list *l);
105 bool rs_write_object_list(FILE *savef, struct linked_list *l);
106 bool rs_read_object_list(int inf, struct linked_list **list);
107
100 int 108 int
101 rsPrintf(char *fmt, ...) 109 rsPrintf(char *fmt, ...)
102 { 110 {
103 va_list ap; 111 va_list ap;
104 112
126 } 134 }
127 135
128 return(NULL); 136 return(NULL);
129 } 137 }
130 138
139 bool
131 rs_write(FILE *savef, void *ptr, size_t size) 140 rs_write(FILE *savef, void *ptr, size_t size)
132 { 141 {
133 size_t i = 0; 142 size_t i = 0;
134 143
135 if (!write_error) 144 if (!write_error)
141 return(WRITESTAT); 150 return(WRITESTAT);
142 } 151 }
143 152
144 int end_of_file = FALSE; 153 int end_of_file = FALSE;
145 154
155 bool
146 rs_read(int inf, void *ptr, size_t size) 156 rs_read(int inf, void *ptr, size_t size)
147 { 157 {
148 int actual; 158 int actual;
149 end_of_file =FALSE; 159 end_of_file =FALSE;
150 if (!read_error && !format_error) 160 if (!read_error && !format_error)
163 return(READSTAT); 173 return(READSTAT);
164 } 174 }
165 175
166 int big_endian = 0; 176 int big_endian = 0;
167 177
178 bool
168 rs_write_uint(FILE *savef, unsigned int c) 179 rs_write_uint(FILE *savef, unsigned int c)
169 { 180 {
170 char bytes[4]; 181 char bytes[4];
171 char *buf = (char *) &c; 182 char *buf = (char *) &c;
172 183
182 rs_write(savef, buf, 4); 193 rs_write(savef, buf, 4);
183 194
184 return(WRITESTAT); 195 return(WRITESTAT);
185 } 196 }
186 197
198 bool
187 rs_write_int(FILE *savef, int c) 199 rs_write_int(FILE *savef, int c)
188 { 200 {
189 char bytes[4]; 201 char bytes[4];
190 char *buf = (char *) &c; 202 char *buf = (char *) &c;
191 203
201 rs_write(savef, buf, 4); 213 rs_write(savef, buf, 4);
202 214
203 return(WRITESTAT); 215 return(WRITESTAT);
204 } 216 }
205 217
218 bool
206 rs_write_ulong(FILE *savef, unsigned long c) 219 rs_write_ulong(FILE *savef, unsigned long c)
207 { 220 {
208 unsigned int c2; 221 unsigned int c2;
209 char bytes[4]; 222 char bytes[4];
210 char *buf = (char *)&c; 223 char *buf = (char *)&c;
227 rs_write(savef, buf, 4); 240 rs_write(savef, buf, 4);
228 241
229 return(WRITESTAT); 242 return(WRITESTAT);
230 } 243 }
231 244
245 bool
232 rs_write_long(FILE *savef, long c) 246 rs_write_long(FILE *savef, long c)
233 { 247 {
234 int c2; 248 int c2;
235 char bytes[4]; 249 char bytes[4];
236 char *buf = (char *)&c; 250 char *buf = (char *)&c;
253 rs_write(savef, buf, 4); 267 rs_write(savef, buf, 4);
254 268
255 return(WRITESTAT); 269 return(WRITESTAT);
256 } 270 }
257 271
272 bool
258 rs_write_boolean(FILE *savef, bool c) 273 rs_write_boolean(FILE *savef, bool c)
259 { 274 {
260 char buf; 275 char buf;
261 276
262 if (c == 0) 277 if (c == 0)
267 rs_write(savef, &buf, 1); 282 rs_write(savef, &buf, 1);
268 283
269 return(WRITESTAT); 284 return(WRITESTAT);
270 } 285 }
271 286
287 bool
272 rs_read_int(int inf, int *i) 288 rs_read_int(int inf, int *i)
273 { 289 {
274 char bytes[4]; 290 char bytes[4];
275 int input; 291 int input;
276 char *buf = (char *)&input; 292 char *buf = (char *)&input;
289 *i = *((int *) buf); 305 *i = *((int *) buf);
290 306
291 return(READSTAT); 307 return(READSTAT);
292 } 308 }
293 309
310 bool
294 rs_read_uint(int inf, unsigned int *i) 311 rs_read_uint(int inf, unsigned int *i)
295 { 312 {
296 char bytes[4]; 313 char bytes[4];
297 int input; 314 int input;
298 char *buf = (char *)&input; 315 char *buf = (char *)&input;
311 *i = *((int *) buf); 328 *i = *((int *) buf);
312 329
313 return(READSTAT); 330 return(READSTAT);
314 } 331 }
315 332
333 bool
316 rs_read_ulong(int inf, unsigned long *i) 334 rs_read_ulong(int inf, unsigned long *i)
317 { 335 {
318 char bytes[4]; 336 char bytes[4];
319 unsigned long input; 337 unsigned long input;
320 char *buf = (char *) &input; 338 char *buf = (char *) &input;
335 else 353 else
336 *i = *((unsigned long *) buf); 354 *i = *((unsigned long *) buf);
337 return(READSTAT); 355 return(READSTAT);
338 } 356 }
339 357
358 bool
340 rs_read_long(int inf, long *i) 359 rs_read_long(int inf, long *i)
341 { 360 {
342 char bytes[4]; 361 char bytes[4];
343 long input; 362 long input;
344 char *buf = (char *) &input; 363 char *buf = (char *) &input;
359 else 378 else
360 *i = *((long *) buf); 379 *i = *((long *) buf);
361 return(READSTAT); 380 return(READSTAT);
362 } 381 }
363 382
383 bool
364 rs_read_boolean(int inf, bool *i) 384 rs_read_boolean(int inf, bool *i)
365 { 385 {
366 char buf; 386 char buf;
367 387
368 rs_read(inf, &buf, 1); 388 rs_read(inf, &buf, 1);
370 *i = buf; 390 *i = buf;
371 391
372 return(READSTAT); 392 return(READSTAT);
373 } 393 }
374 394
395 bool
375 rs_write_ints(FILE *savef, int *c, int count) 396 rs_write_ints(FILE *savef, int *c, int count)
376 { 397 {
377 int n=0; 398 int n=0;
378 399
379 rs_write_int(savef,count); 400 rs_write_int(savef,count);
382 rs_write_int(savef,c[n]); 403 rs_write_int(savef,c[n]);
383 404
384 return(WRITESTAT); 405 return(WRITESTAT);
385 } 406 }
386 407
408 bool
387 rs_write_short(FILE *savef, short c) 409 rs_write_short(FILE *savef, short c)
388 { 410 {
389 char bytes[2]; 411 char bytes[2];
390 char *buf = (char *) &c; 412 char *buf = (char *) &c;
391 413
399 rs_write(savef, buf, 2); 421 rs_write(savef, buf, 2);
400 422
401 return(WRITESTAT); 423 return(WRITESTAT);
402 } 424 }
403 425
426 bool
404 rs_read_short(int inf, short *s) 427 rs_read_short(int inf, short *s)
405 { 428 {
406 char bytes[2]; 429 char bytes[2];
407 short input; 430 short input;
408 char *buf = (char *)&input; 431 char *buf = (char *)&input;
419 *s = *((short *) buf); 442 *s = *((short *) buf);
420 return(READSTAT); 443 return(READSTAT);
421 } 444 }
422 445
423 446
447 bool
424 rs_write_shorts(FILE *savef, short *c, int count) 448 rs_write_shorts(FILE *savef, short *c, int count)
425 { 449 {
426 int n=0; 450 int n=0;
427 451
428 rs_write_int(savef,count); 452 rs_write_int(savef,count);
431 rs_write_short(savef,c[n]); 455 rs_write_short(savef,c[n]);
432 456
433 return(WRITESTAT); 457 return(WRITESTAT);
434 } 458 }
435 459
460 bool
436 rs_write_longs(FILE *savef, long *c, int count) 461 rs_write_longs(FILE *savef, long *c, int count)
437 { 462 {
438 int n=0; 463 int n=0;
439 464
440 rs_write_int(savef,count); 465 rs_write_int(savef,count);
443 rs_write_long(savef,c[n]); 468 rs_write_long(savef,c[n]);
444 469
445 return(WRITESTAT); 470 return(WRITESTAT);
446 } 471 }
447 472
473 bool
448 rs_write_ulongs(FILE *savef, unsigned long *c, int count) 474 rs_write_ulongs(FILE *savef, unsigned long *c, int count)
449 { 475 {
450 int n=0; 476 int n=0;
451 477
452 rs_write_int(savef,count); 478 rs_write_int(savef,count);
455 rs_write_ulong(savef,c[n]); 481 rs_write_ulong(savef,c[n]);
456 482
457 return(WRITESTAT); 483 return(WRITESTAT);
458 } 484 }
459 485
486 bool
460 rs_write_booleans(FILE *savef, bool *c, int count) 487 rs_write_booleans(FILE *savef, bool *c, int count)
461 { 488 {
462 int n=0; 489 int n=0;
463 490
464 rs_write_int(savef,count); 491 rs_write_int(savef,count);
467 rs_write_boolean(savef,c[n]); 494 rs_write_boolean(savef,c[n]);
468 495
469 return(WRITESTAT); 496 return(WRITESTAT);
470 } 497 }
471 498
499 bool
472 rs_read_ints(int inf, int *i, int count) 500 rs_read_ints(int inf, int *i, int count)
473 { 501 {
474 int n=0,value=0; 502 int n=0,value=0;
475 503
476 if (rs_read_int(inf,&value) != 0) 504 if (rs_read_int(inf,&value) != 0)
485 } 513 }
486 514
487 return(READSTAT); 515 return(READSTAT);
488 } 516 }
489 517
518 bool
490 rs_read_shorts(int inf, short *i, int count) 519 rs_read_shorts(int inf, short *i, int count)
491 { 520 {
492 int n=0,value=0; 521 int n=0,value=0;
493 522
494 if (rs_read_int(inf,&value) != 0) 523 if (rs_read_int(inf,&value) != 0)
503 } 532 }
504 533
505 return(READSTAT); 534 return(READSTAT);
506 } 535 }
507 536
537 bool
508 rs_read_longs(int inf, long *i, int count) 538 rs_read_longs(int inf, long *i, int count)
509 { 539 {
510 int n=0,value=0; 540 int n=0,value=0;
511 541
512 if (rs_read_int(inf,&value) != 0) 542 if (rs_read_int(inf,&value) != 0)
521 } 551 }
522 552
523 return(READSTAT); 553 return(READSTAT);
524 } 554 }
525 555
556 bool
526 rs_read_ulongs(int inf, unsigned long *i, int count) 557 rs_read_ulongs(int inf, unsigned long *i, int count)
527 { 558 {
528 int n=0,value=0; 559 int n=0,value=0;
529 560
530 if (rs_read_int(inf,&value) != 0) 561 if (rs_read_int(inf,&value) != 0)
539 } 570 }
540 571
541 return(READSTAT); 572 return(READSTAT);
542 } 573 }
543 574
575 bool
544 rs_read_booleans(int inf, bool *i, int count) 576 rs_read_booleans(int inf, bool *i, int count)
545 { 577 {
546 int n=0,value=0; 578 int n=0,value=0;
547 579
548 if (rs_read_int(inf,&value) != 0) 580 if (rs_read_int(inf,&value) != 0)
557 } 589 }
558 590
559 return(READSTAT); 591 return(READSTAT);
560 } 592 }
561 593
594 bool
562 rs_write_levtype(FILE *savef, LEVTYPE c) 595 rs_write_levtype(FILE *savef, LEVTYPE c)
563 { 596 {
564 int lt; 597 int lt;
565 598
566 switch(c) 599 switch(c)
576 rs_write_int(savef,lt); 609 rs_write_int(savef,lt);
577 610
578 return(WRITESTAT); 611 return(WRITESTAT);
579 } 612 }
580 613
614 bool
581 rs_read_levtype(int inf, LEVTYPE *l) 615 rs_read_levtype(int inf, LEVTYPE *l)
582 { 616 {
583 int lt; 617 int lt;
584 618
585 rs_read_int(inf, &lt); 619 rs_read_int(inf, &lt);
595 } 629 }
596 630
597 return(READSTAT); 631 return(READSTAT);
598 } 632 }
599 633
634 bool
600 rs_write_char(FILE *savef, char c) 635 rs_write_char(FILE *savef, char c)
601 { 636 {
602 rs_write(savef, &c, 1); 637 rs_write(savef, &c, 1);
603 DBG(("%c",c)); 638 DBG(("%c",c));
604 639
605 return(WRITESTAT); 640 return(WRITESTAT);
606 } 641 }
607 642
643 bool
608 rs_read_char(int inf, char *c) 644 rs_read_char(int inf, char *c)
609 { 645 {
610 rs_read(inf, c, 1); 646 rs_read(inf, c, 1);
611 647
612 return(READSTAT); 648 return(READSTAT);
613 } 649 }
614 650
651 bool
615 rs_write_uchar(FILE *savef, unsigned char c) 652 rs_write_uchar(FILE *savef, unsigned char c)
616 { 653 {
617 rs_write(savef, &c, 1); 654 rs_write(savef, &c, 1);
618 DBG(("%c",c)); 655 DBG(("%c",c));
619 656
620 return(WRITESTAT); 657 return(WRITESTAT);
621 } 658 }
622 659
660 bool
623 rs_read_uchar(int inf, unsigned char *c) 661 rs_read_uchar(int inf, unsigned char *c)
624 { 662 {
625 rs_read(inf, c, 1); 663 rs_read(inf, c, 1);
626 664
627 return(READSTAT); 665 return(READSTAT);
628 } 666 }
629 667
668 bool
630 rs_write_string(FILE *savef, char *s) 669 rs_write_string(FILE *savef, char *s)
631 { 670 {
632 int len = 0;