func: gchar **ep_strsplit(const gchar *string,const gchar *sep,int max_tokens) gchar * splitted ; gchar * s ; guint str_len ; if ( ! string || ! sep || ! sep [ 0 ] )  s = splitted = ep_strdup ( string ); gchar *ep_strdup(const gchar *src) return emem_strdup ( src , ep_alloc ) ; static gchar *emem_strdup(const gchar *src,void *allocator(size_t )) guint len ; gchar * dst ; if ( ! src )  return "<NULL>" ; len = ( ( guint ) ( strlen ( src ) ) ); dst = ( memcpy ( allocator ( ( len + 1 ) ) , src , ( len + 1 ) ) ); return dst ; str_len = ( ( guint ) ( strlen ( splitted ) ) ); for (i = 0; i < str_len; i++) 