This really is the same as gs_strfreev / g_strfreev(). However, the difference is, that the former has the notion of freeing strv arrays (char **), while this in general frees an array of pointers. Implementation-wise, they are the same.