f107043f550375c5bb08bd6ccb8ac8c8e821da3b
braney
  Wed Feb 13 18:37:18 2013 -0800
fix problem with lmCloneString not handling a NULL input correctly (#10199)
diff --git src/inc/localmem.h src/inc/localmem.h
index 7011789..15d0147 100644
--- src/inc/localmem.h
+++ src/inc/localmem.h
@@ -26,31 +26,33 @@
 // 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. */
 
 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 *lmCloneString(struct lm *lm, char *string);
+/* Return local mem copy of 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. */
 
 #define lmAllocVar(lm, pt) (pt = lmAlloc(lm, sizeof(*pt)));
 /* Shortcut to allocating a single variable in local mem and
  * assigning pointer to it. */