6b37de0e2b9a4f2402de85eefdc86bdc0806b1be
tdreszer
  Tue Jan 29 14:17:41 2013 -0800
Corrected bug Angie found in previous checkin.  'Clone' is always a clone.  Also changed lmBit routines to require lm, rather than suggest that it is optional.
diff --git src/inc/localmem.h src/inc/localmem.h
index 74f90d7..58e2b52 100644
--- src/inc/localmem.h
+++ src/inc/localmem.h
@@ -22,33 +22,35 @@
 int lmFlushZ(struct lm *lm);
 // Zero's and makes available most recent block of pool, abandoning older blocks
 // USE WITH CAUTION: All previous pointers into lm will be invalid
 
 size_t lmAvailable(struct lm *lm);
 // Returns currently available memory in pool
 
 size_t lmSize(struct lm *lm);
 // Returns current size of pool, even for memory already allocated
 
 void *lmAlloc(struct lm *lm, size_t size);
 /* Allocate memory from local pool. */
 
 void *lmAllocMoreMem(struct lm *lm, void *pt, size_t oldSize, size_t newSize);
 /* Adjust memory size on a block, possibly relocating it.  If block is grown,
- * new memory is zeroed. NOTE: in RARE cases, same pointer may be returned, but
- * since lm allocs are never freed, the same pointer can be used by lmCloneMem */
-#define lmCloneMem(lm, pt, size) lmAllocMoreMem(lm, pt, size, size)
+ * new memory is zeroed. NOTE: in RARE cases, same pointer may be returned. */
+
+void *lmCloneMem(struct lm *lm, void *pt, size_t size);
+/* Return a local mem copy of memory block. */
+
 
 char*lmCloneStringZ(struct lm *lm, char *string, int size);
 /* Return local mem copy of string of given size, adding null terminator. */
 #define lmCloneString(lm, string) lmCloneStringZ(lm, string, strlen(string))
 
 char *lmCloneFirstWord(struct lm *lm, char *line);
 /* Clone first word in line */
 
 char *lmCloneSomeWord(struct lm *lm, char *line, int wordIx);
 /* Return a clone of the given space-delimited word within line.  Returns NULL if
  * not that many words in line. */
 
 struct slName *lmSlName(struct lm *lm, char *name);
 /* Return slName in memory. */