* Announce any devices we've found...
*/
+ DNSServiceErrorType status; /* DNS query status */
cups_device_t *best; /* Best matching device */
char device_uri[1024]; /* Device URI */
int count; /* Number of queries */
fprintf(stderr, "DEBUG: Querying \"%s\"...\n", device->fullName);
- if (DNSServiceQueryRecord(&(device->ref),
- kDNSServiceFlagsShareConnection,
- 0, device->fullName, kDNSServiceType_TXT,
- kDNSServiceClass_IN, query_callback,
- devices) != kDNSServiceErr_NoError)
+ status = DNSServiceQueryRecord(&(device->ref),
+ kDNSServiceFlagsShareConnection,
+ 0, device->fullName,
+ kDNSServiceType_TXT,
+ kDNSServiceClass_IN, query_callback,
+ devices);
+ if (status != kDNSServiceErr_NoError)
+ {
fputs("ERROR: Unable to query for TXT records!\n", stderr);
- else
+ fprintf(stderr, "DEBUG: DNSServiceQueryRecord returned %d\n",
+ status);
+ }
+ else
count ++;
}
}
{
cups_device_t key, /* Search key */
*device; /* Device */
- char fullName[1024]; /* Full name for query */
+ char fullName[kDNSServiceMaxDomainName];
+ /* Full name for query */
/*
* Set the "full name" of this service, which is used for queries...
*/
- snprintf(fullName, sizeof(fullName), "%s.%s%s", serviceName, regtype,
- replyDomain);
+ DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
device->fullName = strdup(fullName);
return (device);