I was quite surprised when I discovered that the 2nd parameter for wm_lstCreate - which is a pointer to wm_lstTable_t - has to be a global variable. Otherwise, i.e. when it is allocated on the function stack, wm_lstDeleteItem crashes.
This should be either documented or fixed. All the parameters should be copied by wm_lstCreate and the API should not require the structure to exist all the time as a global variable.