]> mj.ucw.cz Git - libucw.git/commitdiff
Fix incorrect pointer casts.
authorMartin Mares <mj@ucw.cz>
Wed, 2 Mar 2005 21:48:47 +0000 (21:48 +0000)
committerMartin Mares <mj@ucw.cz>
Wed, 2 Mar 2005 21:48:47 +0000 (21:48 +0000)
lib/lib.h
lib/mempool.c
lib/mempool.h

index f81e35898f6a210a07b945b45e5487b54a3183a6..2102dd43feded5ec8779cd2044fff9236e20c57b 100644 (file)
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -1,7 +1,7 @@
 /*
  *     The UCW Library -- Miscellaneous Functions
  *
- *     (c) 1997--2004 Martin Mares <mj@ucw.cz>
+ *     (c) 1997--2005 Martin Mares <mj@ucw.cz>
  *     (c) 2005 Tomas Valla <tom@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
@@ -24,7 +24,7 @@
 #define SKIP_BACK(s, i, p) ((s *)((char *)p - OFFSETOF(s, i)))
 #define ALIGN(s, a) (((s)+a-1)&~(a-1))
 #define ALIGN_PTR(p, s) ((addr_int_t)(p) % (s) ? (typeof(p))((addr_int_t)(p) + (s) - (addr_int_t)(p) % (s)) : (p))
-#define UNALIGNED_PART(ptr, type) (((long) (ptr)) % sizeof(type))
+#define UNALIGNED_PART(ptr, type) (((addr_int_t) (ptr)) % sizeof(type))
 
 /* Some other macros */
 
index b0c03eed50ab5a628462f8ce35783d52fc3cb81d..410fa16ba24d22ef211146cf2a141ab4a5cdeba1 100644 (file)
@@ -69,7 +69,7 @@ mp_alloc(struct mempool *p, uns s)
 {
   if (s <= p->threshold)
     {
-      byte *x = (byte *)(((uns) p->free + POOL_ALIGN - 1) & ~(POOL_ALIGN - 1));
+      byte *x = (byte *)(((addr_int_t) p->free + POOL_ALIGN - 1) & ~(addr_int_t)(POOL_ALIGN - 1));
       if (x + s > p->last)
        {
          struct memchunk *c;
index 7290c256f6865d61f0458e882ef04ad08fc5f5b5..98d46e57d620bdb8f4cb03816c90eec556f83eb5 100644 (file)
@@ -29,7 +29,7 @@ void *mp_alloc_zero(struct mempool *, uns);
 
 static inline void *mp_alloc_fast(struct mempool *p, uns l)
 {
-  byte *f = (void *) (((uns) p->free + POOL_ALIGN - 1) & ~(POOL_ALIGN - 1));
+  byte *f = (void *) (((addr_int_t) p->free + POOL_ALIGN - 1) & ~(addr_int_t)(POOL_ALIGN - 1));
   byte *ee = f + l;
   if (ee > p->last)
     return mp_alloc(p, l);