1.1 --- a/sourcepawn/compiler/pawncc.c Tue Aug 01 12:00:49 2006 +0000
1.2 +++ b/sourcepawn/compiler/pawncc.c Tue Aug 01 19:49:33 2006 +0000
1.3 @@ -174,17 +174,19 @@
1.4 {
1.5 sp_file_publics_t *pbtbl;
1.6 AMX_FUNCSTUBNT *stub;
1.7 + unsigned char *stubptr;
1.8 uint32_t publics = sections[FS_Publics];
1.9
1.10 pbtbl = (sp_file_publics_t *)malloc(sizeof(sp_file_publics_t) * publics);
1.11 - stub = (AMX_FUNCSTUBNT *)((unsigned char *)hdr + hdr->publics);
1.12 + stubptr = (unsigned char *)hdr + hdr->publics;
1.13
1.14 for (i=0; i<publics; i++)
1.15 {
1.16 + stub = (AMX_FUNCSTUBNT *)stubptr;
1.17 pbtbl[i].address = stub->address;
1.18 pbtbl[i].name = stub->nameofs - (hdr->nametable + sizeof(uint16_t));
1.19
1.20 - stub += hdr->defsize;
1.21 + stubptr += hdr->defsize;
1.22 }
1.23 if (publics)
1.24 {
1.25 @@ -199,17 +201,19 @@
1.26 {
1.27 sp_file_pubvars_t *pbvars;
1.28 AMX_FUNCSTUBNT *stub;
1.29 + unsigned char *stubptr;
1.30 uint32_t pubvars = sections[FS_Pubvars];
1.31
1.32 pbvars = (sp_file_pubvars_t *)malloc(sizeof(sp_file_pubvars_t) * pubvars);
1.33 - stub = (AMX_FUNCSTUBNT *)((unsigned char *)hdr + hdr->pubvars);
1.34 + stubptr = (unsigned char *)hdr + hdr->pubvars;
1.35
1.36 for (i=0; i<pubvars; i++)
1.37 {
1.38 + stub = (AMX_FUNCSTUBNT *)stubptr;
1.39 pbvars[i].address = stub->address;
1.40 pbvars[i].name = stub->nameofs - (hdr->nametable + sizeof(uint16_t));
1.41
1.42 - stub += hdr->defsize;
1.43 + stubptr += hdr->defsize;
1.44 }
1.45 if (pubvars)
1.46 {
1.47 @@ -223,16 +227,18 @@
1.48 {
1.49 sp_file_natives_t *nvtbl;
1.50 AMX_FUNCSTUBNT *stub;
1.51 + unsigned char *stubptr;
1.52 uint32_t natives = (hdr->libraries - hdr->natives) / hdr->defsize;
1.53
1.54 nvtbl = (sp_file_natives_t *)malloc(sizeof(sp_file_natives_t) * natives);
1.55 - stub = (AMX_FUNCSTUBNT *)((unsigned char *)hdr + hdr->natives);
1.56 + stubptr = (unsigned char *)hdr + hdr->natives;
1.57
1.58 for (i=0; i<natives; i++)
1.59 {
1.60 + stub = (AMX_FUNCSTUBNT *)stubptr;
1.61 nvtbl[i].name = stub->nameofs - (hdr->nametable + sizeof(uint16_t));
1.62
1.63 - stub += hdr->defsize;
1.64 + stubptr += hdr->defsize;
1.65 }
1.66 if (natives)
1.67 {