code: def recvx(source, string_p, *args):
          
          return lib.zstr_recvx(source, byref(c_char_p.from_param(string_p)), *args)
docs: 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.