Browse code

use char* arithmetic

git-svn: trunk@4433

aCaB authored on 2008/11/19 03:34:54
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Tue Nov 18 19:33:07 CET 2008 (acab)
2
+-----------------------------------
3
+ * libclamav/mpool.c: a(void*) arithmetic
4
+
1 5
 Tue Nov 18 18:40:32 CET 2008 (acab)
2 6
 -----------------------------------
3 7
  * configure: enable mempool by default (where available)
... ...
@@ -364,7 +364,7 @@ struct MP *mp_create() {
364 364
   if ((mp_p = (struct MP *)mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_PRIVATE|ANONYMOUS_MAP, -1, 0)) == MAP_FAILED)
365 365
     return NULL;
366 366
   memcpy(mp_p, &mp, sizeof(mp));
367
-  spam("Map created @ %p->%p - size %u out of %u\n", mp_p, (void*)mp_p + mp.mpm.size, mp.mpm.usize, mp.mpm.size);
367
+  spam("Map created @ %p->%p - size %u out of %u\n", mp_p, (char *)mp_p + mp.mpm.size, mp.mpm.usize, mp.mpm.size);
368 368
   return mp_p;
369 369
 }
370 370
 
... ...
@@ -383,7 +383,7 @@ void mp_flush(struct MP *mp) {
383 383
   struct MPMAP *mpm_next = mp->mpm.next, *mpm;
384 384
   while((mpm = mpm_next)) {
385 385
     mpm_next = mpm->next;
386
-    munmap((void *)mpm + align_to_pagesize(mp, mpm->usize), mpm->size - align_to_pagesize(mp, mpm->usize));
386
+    munmap((char *)mpm + align_to_pagesize(mp, mpm->usize), mpm->size - align_to_pagesize(mp, mpm->usize));
387 387
     mpm->size = align_to_pagesize(mp, mpm->usize);
388 388
     used += mpm->size;
389 389
   }
... ...
@@ -447,7 +447,7 @@ void *mp_malloc(struct MP *mp, size_t size) {
447 447
   /* Case 2: We have nuff room available for this frag already */
448 448
   while(mpm) {
449 449
     if(mpm->size - mpm->usize >= needed) {
450
-      f = (struct FRAG *)((void *)mpm + mpm->usize);
450
+      f = (struct FRAG *)((char *)mpm + mpm->usize);
451 451
       spam("malloc %p size %u (hole)\n", f, mp_roundup(size));
452 452
       mpm->usize += needed;
453 453
       f->u.sbits = sbits;
... ...
@@ -474,7 +474,7 @@ void *mp_malloc(struct MP *mp, size_t size) {
474 474
   mpm->usize = needed + align_to_voidptr(sizeof(*mpm));
475 475
   mpm->next = mp->mpm.next;
476 476
   mp->mpm.next = mpm;
477
-  f = (struct FRAG *)((void *)mpm + align_to_voidptr(sizeof(*mpm)));
477
+  f = (struct FRAG *)((char *)mpm + align_to_voidptr(sizeof(*mpm)));
478 478
   spam("malloc %p size %u (new map)\n", f, mp_roundup(size));
479 479
   f->u.sbits = sbits;
480 480
 #ifdef CL_DEBUG
... ...
@@ -484,7 +484,7 @@ void *mp_malloc(struct MP *mp, size_t size) {
484 484
 }
485 485
 
486 486
 void mp_free(struct MP *mp, void *ptr) {
487
-  struct FRAG *f = (struct FRAG *)(ptr - FRAG_OVERHEAD);
487
+  struct FRAG *f = (struct FRAG *)((char *)ptr - FRAG_OVERHEAD);
488 488
   unsigned int sbits;
489 489
   if (!ptr) return;
490 490
 
... ...
@@ -509,7 +509,7 @@ void *mp_calloc(struct MP *mp, size_t nmemb, size_t size) {
509 509
 }
510 510
 
511 511
 void *mp_realloc(struct MP *mp, void *ptr, size_t size) {
512
-  struct FRAG *f = (struct FRAG *)(ptr - FRAG_OVERHEAD);
512
+  struct FRAG *f = (struct FRAG *)((char *)ptr - FRAG_OVERHEAD);
513 513
   unsigned int csize, sbits;
514 514
   void *new_ptr;
515 515
   if (!ptr) return mp_malloc(mp, size);
... ...
@@ -530,7 +530,7 @@ void *mp_realloc(struct MP *mp, void *ptr, size_t size) {
530 530
 }
531 531
 
532 532
 void *mp_realloc2(struct MP *mp, void *ptr, size_t size) {
533
-  struct FRAG *f = (struct FRAG *)(ptr - FRAG_OVERHEAD);
533
+  struct FRAG *f = (struct FRAG *)((char *)ptr - FRAG_OVERHEAD);
534 534
   unsigned int csize;
535 535
   void *new_ptr;
536 536
   if (!ptr) return mp_malloc(mp, size);