Ask and your wish shall be granted
Code:
#include "dns_sd.h"
#include <stdio.h>
#include <string.h>
void HandleEvents(DNSServiceRef)
{
//Placeholder
}
static void MyBrowseCallBack(DNSServiceRef service,
DNSServiceFlags flags,
uint32_t interfaceIndex,
DNSServiceErrorType errorCode,
const char * name,
const char * type,
const char * domain,
void * context)
{
//#pragma unused(context)
if(errorCode != kDNSServiceErr_NoError)
{
fprintf(stderr, "MyBrowseCallBack returned %d\n", errorCode);
}
else
{
const char *addString = (flags & kDNSServiceFlagsAdd) ? "ADD" : "REMOVE";
const char *moreString = (flags & kDNSServiceFlagsMoreComing) ? "MORE" : "";
printf("%-7s%-5s %d%s.%s%s\n", addString, moreString, interfaceIndex, name, type, domain);
}
if(!(flags & kDNSServiceFlagsMoreComing))
{
fflush(stdout);
}
}
static DNSServiceErrorType MyDNSServiceBrowse()
{
DNSServiceErrorType error;
DNSServiceRef serviceRef;
error = DNSServiceBrowse(&serviceRef,
0,
0,
"_touch-remote._tcp",
"",
MyBrowseCallBack,
NULL);
if(error == kDNSServiceErr_NoError)
{
HandleEvents(serviceRef); //Look up HandleEvents function to learn purpose of it
DNSServiceRefDeallocate(serviceRef);
}
return error;
}
int main(int argc, const char * argv[])
{
DNSServiceErrorType error = MyDNSServiceBrowse();
if(error)
{
fprintf(stderr, "DNSServiceDiscovery returned %d\n", error);
}
return 0;
}
The error is being thrown at line 49, the NULL argument of DNSServiceBrowse while setting DNSServiceTypeError error.
Thanks again,
FlyingIsFun1217