diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2017-01-16 00:10:38 +0100 |
---|---|---|
committer | Gerrit Rockbox <gerrit@rockbox.org> | 2017-02-04 17:24:47 +0100 |
commit | d7871914acd2ed77f43344e36e08944524a67d9e (patch) | |
tree | 7bcef243d9b53c3703c305b8a5f9f8a8488eabfb /apps/plugins/doom/p_saveg.c | |
parent | 1245c5fe61f6ca8e1980a33a8b8f7ea4322829fd (diff) | |
download | rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.gz rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.zip |
Fix dangerous casts
On Windows 64-bit, the size of long is 32-bit, thus any pointer to long cast is
not valid. In any case, one should use intptr_t and ptrdiff_t when casting
to integers. This commit attempts to fix all instances reported by GCC.
When relevant, I replaced code by the macros PTR_ADD, ALIGN_UP from system.h
Change-Id: I2273b0e8465d3c4689824717ed5afa5ed238a2dc
Diffstat (limited to 'apps/plugins/doom/p_saveg.c')
-rw-r--r-- | apps/plugins/doom/p_saveg.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/apps/plugins/doom/p_saveg.c b/apps/plugins/doom/p_saveg.c index a704bfa83c..891b3b0503 100644 --- a/apps/plugins/doom/p_saveg.c +++ b/apps/plugins/doom/p_saveg.c | |||
@@ -44,7 +44,7 @@ byte *save_p; | |||
44 | 44 | ||
45 | // Pads save_p to a 4-byte boundary | 45 | // Pads save_p to a 4-byte boundary |
46 | // so that the load/save works on SGI&Gecko. | 46 | // so that the load/save works on SGI&Gecko. |
47 | #define PADSAVEP() do { save_p += (4 - ((unsigned long) save_p & 3)) & 3; } while (0) | 47 | #define PADSAVEP() do { save_p += (4 - ((intptr_t) save_p & 3)) & 3; } while (0) |
48 | // | 48 | // |
49 | // P_ArchivePlayers | 49 | // P_ArchivePlayers |
50 | // | 50 | // |
@@ -95,7 +95,7 @@ void P_UnArchivePlayers (void) | |||
95 | for (j=0 ; j<NUMPSPRITES ; j++) | 95 | for (j=0 ; j<NUMPSPRITES ; j++) |
96 | if (players[i]. psprites[j].state) | 96 | if (players[i]. psprites[j].state) |
97 | players[i]. psprites[j].state = | 97 | players[i]. psprites[j].state = |
98 | &states[ (unsigned long)players[i].psprites[j].state ]; | 98 | &states[ (intptr_t)players[i].psprites[j].state ]; |
99 | } | 99 | } |
100 | } | 100 | } |
101 | 101 | ||
@@ -270,7 +270,7 @@ void P_ThinkerToIndex(void) | |||
270 | number_of_thinkers = 0; | 270 | number_of_thinkers = 0; |
271 | for (th = thinkercap.next ; th != &thinkercap ; th=th->next) | 271 | for (th = thinkercap.next ; th != &thinkercap ; th=th->next) |
272 | if (th->function == P_MobjThinker) | 272 | if (th->function == P_MobjThinker) |
273 | th->prev = (thinker_t *)(long)(++number_of_thinkers); | 273 | th->prev = (thinker_t *)(intptr_t)(++number_of_thinkers); |
274 | } | 274 | } |
275 | 275 | ||
276 | // phares 9/13/98: Moved this code outside of P_ArchiveThinkers so the | 276 | // phares 9/13/98: Moved this code outside of P_ArchiveThinkers so the |
@@ -448,10 +448,10 @@ void P_UnArchiveThinkers (void) | |||
448 | PADSAVEP(); | 448 | PADSAVEP(); |
449 | memcpy (mobj, save_p, sizeof(mobj_t)); | 449 | memcpy (mobj, save_p, sizeof(mobj_t)); |
450 | save_p += sizeof(mobj_t); | 450 | save_p += sizeof(mobj_t); |
451 | mobj->state = states + (unsigned long) mobj->state; | 451 | mobj->state = states + (intptr_t) mobj->state; |
452 | 452 | ||
453 | if (mobj->player) | 453 | if (mobj->player) |
454 | (mobj->player = &players[(unsigned long) mobj->player - 1]) -> mo = mobj; | 454 | (mobj->player = &players[(intptr_t) mobj->player - 1]) -> mo = mobj; |
455 | 455 | ||
456 | P_SetThingPosition (mobj); | 456 | P_SetThingPosition (mobj); |
457 | mobj->info = &mobjinfo[mobj->type]; | 457 | mobj->info = &mobjinfo[mobj->type]; |
@@ -770,7 +770,7 @@ void P_UnArchiveSpecials (void) | |||
770 | ceiling_t *ceiling = Z_Malloc (sizeof(*ceiling), PU_LEVEL, NULL); | 770 | ceiling_t *ceiling = Z_Malloc (sizeof(*ceiling), PU_LEVEL, NULL); |
771 | memcpy (ceiling, save_p, sizeof(*ceiling)); | 771 | memcpy (ceiling, save_p, sizeof(*ceiling)); |
772 | save_p += sizeof(*ceiling); | 772 | save_p += sizeof(*ceiling); |
773 | ceiling->sector = §ors[(unsigned long)ceiling->sector]; | 773 | ceiling->sector = §ors[(intptr_t)ceiling->sector]; |
774 | ceiling->sector->ceilingdata = ceiling; //jff 2/22/98 | 774 | ceiling->sector->ceilingdata = ceiling; //jff 2/22/98 |
775 | 775 | ||
776 | if (ceiling->thinker.function) | 776 | if (ceiling->thinker.function) |
@@ -787,10 +787,10 @@ void P_UnArchiveSpecials (void) | |||
787 | vldoor_t *door = Z_Malloc (sizeof(*door), PU_LEVEL, NULL); | 787 | vldoor_t *door = Z_Malloc (sizeof(*door), PU_LEVEL, NULL); |
788 | memcpy (door, save_p, sizeof(*door)); | 788 | memcpy (door, save_p, sizeof(*door)); |
789 | save_p += sizeof(*door); | 789 | save_p += sizeof(*door); |
790 | door->sector = §ors[(unsigned long)door->sector]; | 790 | door->sector = §ors[(intptr_t)door->sector]; |
791 | 791 | ||
792 | //jff 1/31/98 unarchive line remembered by door as well | 792 | //jff 1/31/98 unarchive line remembered by door as well |
793 | door->line = (long)door->line!=-1? &lines[(unsigned long)door->line] : NULL; | 793 | door->line = (intptr_t)door->line!=-1? &lines[(intptr_t)door->line] : NULL; |
794 | 794 | ||
795 | door->sector->ceilingdata = door; //jff 2/22/98 | 795 | door->sector->ceilingdata = door; //jff 2/22/98 |
796 | door->thinker.function = T_VerticalDoor; | 796 | door->thinker.function = T_VerticalDoor; |
@@ -804,7 +804,7 @@ void P_UnArchiveSpecials (void) | |||
804 | floormove_t *floor = Z_Malloc (sizeof(*floor), PU_LEVEL, NULL); | 804 | floormove_t *floor = Z_Malloc (sizeof(*floor), PU_LEVEL, NULL); |
805 | memcpy (floor, save_p, sizeof(*floor)); | 805 | memcpy (floor, save_p, sizeof(*floor)); |
806 | save_p += sizeof(*floor); | 806 | save_p += sizeof(*floor); |
807 | floor->sector = §ors[(unsigned long)floor->sector]; | 807 | floor->sector = §ors[(intptr_t)floor->sector]; |
808 | floor->sector->floordata = floor; //jff 2/22/98 | 808 | floor->sector->floordata = floor; //jff 2/22/98 |
809 | floor->thinker.function = T_MoveFloor; | 809 | floor->thinker.function = T_MoveFloor; |
810 | P_AddThinker (&floor->thinker); | 810 | P_AddThinker (&floor->thinker); |
@@ -817,7 +817,7 @@ void P_UnArchiveSpecials (void) | |||
817 | plat_t *plat = Z_Malloc (sizeof(*plat), PU_LEVEL, NULL); | 817 | plat_t *plat = Z_Malloc (sizeof(*plat), PU_LEVEL, NULL); |
818 | memcpy (plat, save_p, sizeof(*plat)); | 818 | memcpy (plat, save_p, sizeof(*plat)); |
819 | save_p += sizeof(*plat); | 819 | save_p += sizeof(*plat); |
820 | plat->sector = §ors[(unsigned long)plat->sector]; | 820 | plat->sector = §ors[(intptr_t)plat->sector]; |
821 | plat->sector->floordata = plat; //jff 2/22/98 | 821 | plat->sector->floordata = plat; //jff 2/22/98 |
822 | 822 | ||
823 | if (plat->thinker.function) | 823 | if (plat->thinker.function) |
@@ -834,7 +834,7 @@ void P_UnArchiveSpecials (void) | |||
834 | lightflash_t *flash = Z_Malloc (sizeof(*flash), PU_LEVEL, NULL); | 834 | lightflash_t *flash = Z_Malloc (sizeof(*flash), PU_LEVEL, NULL); |
835 | memcpy (flash, save_p, sizeof(*flash)); | 835 | memcpy (flash, save_p, sizeof(*flash)); |
836 | save_p += sizeof(*flash); | 836 | save_p += sizeof(*flash); |
837 | flash->sector = §ors[(unsigned long)flash->sector]; | 837 | flash->sector = §ors[(intptr_t)flash->sector]; |
838 | flash->thinker.function = T_LightFlash; | 838 | flash->thinker.function = T_LightFlash; |
839 | P_AddThinker (&flash->thinker); | 839 | P_AddThinker (&flash->thinker); |
840 | break; | 840 | break; |
@@ -846,7 +846,7 @@ void P_UnArchiveSpecials (void) | |||
846 | strobe_t *strobe = Z_Malloc (sizeof(*strobe), PU_LEVEL, NULL); | 846 | strobe_t *strobe = Z_Malloc (sizeof(*strobe), PU_LEVEL, NULL); |
847 | memcpy (strobe, save_p, sizeof(*strobe)); | 847 | memcpy (strobe, save_p, sizeof(*strobe)); |
848 | save_p += sizeof(*strobe); | 848 | save_p += sizeof(*strobe); |
849 | strobe->sector = §ors[(unsigned long)strobe->sector]; | 849 | strobe->sector = §ors[(intptr_t)strobe->sector]; |
850 | strobe->thinker.function = T_StrobeFlash; | 850 | strobe->thinker.function = T_StrobeFlash; |
851 | P_AddThinker (&strobe->thinker); | 851 | P_AddThinker (&strobe->thinker); |
852 | break; | 852 | break; |
@@ -858,7 +858,7 @@ void P_UnArchiveSpecials (void) | |||
858 | glow_t *glow = Z_Malloc (sizeof(*glow), PU_LEVEL, NULL); | 858 | glow_t *glow = Z_Malloc (sizeof(*glow), PU_LEVEL, NULL); |
859 | memcpy (glow, save_p, sizeof(*glow)); | 859 | memcpy (glow, save_p, sizeof(*glow)); |
860 | save_p += sizeof(*glow); | 860 | save_p += sizeof(*glow); |
861 | glow->sector = §ors[(unsigned long)glow->sector]; | 861 | glow->sector = §ors[(intptr_t)glow->sector]; |
862 | glow->thinker.function = T_Glow; | 862 | glow->thinker.function = T_Glow; |
863 | P_AddThinker (&glow->thinker); | 863 | P_AddThinker (&glow->thinker); |
864 | break; | 864 | break; |
@@ -870,7 +870,7 @@ void P_UnArchiveSpecials (void) | |||
870 | fireflicker_t *flicker = Z_Malloc (sizeof(*flicker), PU_LEVEL, NULL); | 870 | fireflicker_t *flicker = Z_Malloc (sizeof(*flicker), PU_LEVEL, NULL); |
871 | memcpy (flicker, save_p, sizeof(*flicker)); | 871 | memcpy (flicker, save_p, sizeof(*flicker)); |
872 | save_p += sizeof(*flicker); | 872 | save_p += sizeof(*flicker); |
873 | flicker->sector = §ors[(unsigned long)flicker->sector]; | 873 | flicker->sector = §ors[(intptr_t)flicker->sector]; |
874 | flicker->thinker.function = T_FireFlicker; | 874 | flicker->thinker.function = T_FireFlicker; |
875 | P_AddThinker (&flicker->thinker); | 875 | P_AddThinker (&flicker->thinker); |
876 | break; | 876 | break; |
@@ -883,7 +883,7 @@ void P_UnArchiveSpecials (void) | |||
883 | elevator_t *elevator = Z_Malloc (sizeof(*elevator), PU_LEVEL, NULL); | 883 | elevator_t *elevator = Z_Malloc (sizeof(*elevator), PU_LEVEL, NULL); |
884 | memcpy (elevator, save_p, sizeof(*elevator)); | 884 | memcpy (elevator, save_p, sizeof(*elevator)); |
885 | save_p += sizeof(*elevator); | 885 | save_p += sizeof(*elevator); |
886 | elevator->sector = §ors[(unsigned long)elevator->sector]; | 886 | elevator->sector = §ors[(intptr_t)elevator->sector]; |
887 | elevator->sector->floordata = elevator; //jff 2/22/98 | 887 | elevator->sector->floordata = elevator; //jff 2/22/98 |
888 | elevator->sector->ceilingdata = elevator; //jff 2/22/98 | 888 | elevator->sector->ceilingdata = elevator; //jff 2/22/98 |
889 | elevator->thinker.function = T_MoveElevator; | 889 | elevator->thinker.function = T_MoveElevator; |