def METHOD_NAME(source, string_p, *string_p_args):
    """
    Receive a series of strings (until NULL) from multipart data.
    Each string is allocated and filled with string data; if there
    are not enough frames, unallocated strings are set to NULL.
    Returns -1 if the message could not be read, else returns the
    number of strings filled, zero or more. Free each returned string
    using zstr_free(). If not enough strings are provided, remaining
    multipart frames in the message are dropped.
    """
    return utils.lib.zstr_recvx(source._p, utils.to_bytes(string_p), *string_p_args)