#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);
}
