]> mj.ucw.cz Git - libucw.git/blobdiff - lib/mempool.h
Fixxed test for ROLE=reap --> reap+watson
[libucw.git] / lib / mempool.h
index 6058c5eefc9549de214660e3df2c7eea22805fb6..98d46e57d620bdb8f4cb03816c90eec556f83eb5 100644 (file)
@@ -1,14 +1,14 @@
 /*
- *     Sherlock Library -- Memory Pools
+ *     UCW Library -- Memory Pools
  *
- *     (c) 1997--2004 Martin Mares <mj@ucw.cz>
+ *     (c) 1997--2005 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
  */
 
-#ifndef _SHERLOCK_POOLS_H
-#define _SHERLOCK_POOLS_H
+#ifndef _UCW_POOLS_H
+#define _UCW_POOLS_H
 
 #ifndef POOL_ALIGN
 #define POOL_ALIGN CPU_STRUCT_ALIGN
@@ -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);
@@ -60,7 +60,7 @@ mp_end_string(struct mempool *p, void *stop)
   p->free = stop;
 }
 
-/* pool-str.c */
+/* mempool-str.c */
 
 char *mp_strdup(struct mempool *, char *);
 char *mp_multicat(struct mempool *, ...);
@@ -70,4 +70,9 @@ mp_strcat(struct mempool *mp, char *x, char *y)
   return mp_multicat(mp, x, y, NULL);
 }
 
+/* mempool-fmt.c */
+
+char *mp_printf(struct mempool *p, char *fmt, ...);
+char *mp_vprintf(struct mempool *p, char *fmt, va_list args);
+
 #endif