#include <resolv.h>
#include <string.h>

int res_querydomain(const char* name, const char* domain, int class, int type, unsigned char* dest,
                    int len) {
  char tmp[255];
  size_t nl = strnlen(name, 255);
  size_t dl = strnlen(domain, 255);
  if (nl + dl + 1 > 254)
    return -1;
  memcpy(tmp, name, nl);
  tmp[nl] = '.';
  memcpy(tmp + nl + 1, domain, dl + 1);
  return res_query(tmp, class, type, dest, len);
}
