Slight sanity fix: data is void *, not char *.  And it's called data
almost everywhere, so be consistent.
diff --git a/include/libbb.h b/include/libbb.h
index 64c91b1..93b29c6 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -84,8 +84,8 @@
 	char *data;
 	struct llist_s *link;
 } llist_t;
-extern llist_t *llist_add_to(llist_t *old_head, char *new_item);
-extern llist_t *llist_add_to_end(llist_t *list_head, char *data);
+extern llist_t *llist_add_to(llist_t *old_head, void *data);
+extern llist_t *llist_add_to_end(llist_t *list_head, void *data);
 extern void *llist_pop(llist_t **elm);
 extern void llist_free(llist_t *elm, void (*freeit)(void *data));
 
diff --git a/libbb/llist.c b/libbb/llist.c
index 842e8f7..dd80436 100644
--- a/libbb/llist.c
+++ b/libbb/llist.c
@@ -14,12 +14,12 @@
 
 #ifdef L_llist_add_to
 /* Add data to the start of the linked list.  */
-llist_t *llist_add_to(llist_t *old_head, char *new_item)
+llist_t *llist_add_to(llist_t *old_head, void *data)
 {
 	llist_t *new_head;
 
 	new_head = xmalloc(sizeof(llist_t));
-	new_head->data = new_item;
+	new_head->data = data;
 	new_head->link = old_head;
 
 	return (new_head);
@@ -28,7 +28,7 @@
 
 #ifdef L_llist_add_to_end
 /* Add data to the end of the linked list.  */
-llist_t *llist_add_to_end(llist_t *list_head, char *data)
+llist_t *llist_add_to_end(llist_t *list_head, void *data)
 {
 	llist_t *new_item;