shared: add nm_utils_strsplit_set() helper
A replacement for g_strsplit_set(). While g_strsplit_set() does (n+1) malloc and n slice allocations, this needs roughtly (O(log(n))) mallocs. Another difference from g_strsplit_set() is that this function treats multiple delimiters as one (and thus never returns empty words). While I can see that sometimes you may want to keep empty words (like parsing a CSV file and preserve empty cells), we usually use this function for splitting user input. In such case, we want to treat multiple delimiters as one.
Showing with 176 additions and 0 deletions