]> mj.ucw.cz Git - libucw.git/blobdiff - lib/mempool.h
Added bit_array_assign(), replaced BIT_ARRAY_ALLOC by functions.
[libucw.git] / lib / mempool.h
index 7290c256f6865d61f0458e882ef04ad08fc5f5b5..95727688ac9b8be0302d0fae414ce04b984569a9 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);
@@ -63,6 +63,7 @@ mp_end_string(struct mempool *p, void *stop)
 /* mempool-str.c */
 
 char *mp_strdup(struct mempool *, char *);
+void *mp_memdup(struct mempool *, void *, uns);
 char *mp_multicat(struct mempool *, ...);
 static inline char *
 mp_strcat(struct mempool *mp, char *x, char *y)
@@ -72,7 +73,7 @@ mp_strcat(struct mempool *mp, char *x, char *y)
 
 /* mempool-fmt.c */
 
-char *mp_printf(struct mempool *p, char *fmt, ...);
+char *mp_printf(struct mempool *p, char *fmt, ...) FORMAT_CHECK(printf,2,3);
 char *mp_vprintf(struct mempool *p, char *fmt, va_list args);
 
 #endif