/*
* Sherlock Library -- Memory Pools
*
- * (c) 1997--2001 Martin Mares <mj@ucw.cz>
+ * (c) 1997--2004 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
void mp_flush(struct mempool *);
void *mp_alloc(struct mempool *, uns);
void *mp_alloc_zero(struct mempool *, uns);
+char *mp_strdup(struct mempool *, char *);
static inline void *mp_alloc_fast(struct mempool *p, uns l)
{
return f;
}
+static inline void *
+mp_start_string(struct mempool *p, uns l)
+{
+ ASSERT(l <= p->chunk_size);
+ return mp_alloc(p, l);
+}
+
+static inline void
+mp_end_string(struct mempool *p, void *stop)
+{
+ p->free = stop;
+}
+
#endif