2525# endif // _WIN32
2626#elif _WIN32
2727# include <windns.h>
28+ # pragma comment(lib, "dnsapi.lib") // Link in dnsapi library...
2829#else // HAVE_AVAHI
2930# include <avahi-client/client.h>
3031# include <avahi-client/lookup.h>
@@ -96,7 +97,7 @@ struct _cups_dnssd_browse_s // DNS-SD browse request
9697 size_t num_browsers ; // Number of browsers
9798 struct
9899 { // Browsers
99- CWSTR name [256 ]; // Browse name as a UTF-16 string
100+ WCHAR name [256 ]; // Browse name as a UTF-16 string
100101 DNS_SERVICE_BROWSE_REQUEST req ; // Browse request
101102 DNS_SERVICE_CANCEL cancel ; // Cancellation structure
102103 } browsers [_CUPS_DNSSD_MAX ];
@@ -118,7 +119,7 @@ struct _cups_dnssd_query_s // DNS-SD query request
118119 DNSServiceRef ref ; // Query reference
119120
120121#elif _WIN32
121- CWSTR fullname [256 ]; // Query full name as a UTF-16 string
122+ WCHAR fullname [256 ]; // Query full name as a UTF-16 string
122123 DNS_QUERY_REQUEST req ; // Query request
123124 DNS_QUERY_RESULT res ; // Query result
124125 DNS_QUERY_CANCEL cancel ; // Cancellation structure
@@ -138,7 +139,7 @@ struct _cups_dnssd_resolve_s // DNS-SD resolve request
138139 DNSServiceRef ref ; // Resolve reference
139140
140141#elif _WIN32
141- CWSTR fullname [256 ]; // Full name as a UTF-16 string
142+ WCHAR fullname [256 ]; // Full name as a UTF-16 string
142143 DNS_SERVICE_RESOLVE_REQUEST req ; // Resolve request
143144 DNS_SERVICE_CANCEL cancel ; // Cancellation structure
144145
@@ -152,9 +153,9 @@ struct _win32_srv_s // Service
152153{
153154 DNS_SERVICE_REGISTER_REQUEST req ; // Registration request
154155 DNS_SERVICE_CANCEL cancel ; // Cancellation structure
155- CWSTR fullname [256 ]; // Full service name
156- CWSTR hostname [256 ]; // Hostname
157- CWSTR * txt ; // TXT key/value string buffer
156+ WCHAR fullname [256 ]; // Full service name
157+ WCHAR hostname [256 ]; // Hostname
158+ WCHAR * txt ; // TXT key/value string buffer
158159};
159160#endif // _WIN32
160161
@@ -211,7 +212,7 @@ static void win32_browse_cb(DWORD status, PVOID context, PDNS_RECORD record);
211212static void win32_query_cb (PVOID context , PDNS_QUERY_RESULT result );
212213static void win32_resolve_cb (DWORD status , PVOID context , PDNS_SERVICE_INSTANCE instance );
213214static void win32_service_cb (DWORD status , PVOID context , PDNS_SERVICE_INSTANCE instance );
214- static void win32_wstrcpy (CWSTR * dst , const char * src , size_t dstsize );
215+ static void win32_wstrcpy (WCHAR * dst , const char * src , size_t dstsize );
215216
216217#else // HAVE_AVAHI
217218static void avahi_browse_cb (AvahiServiceBrowser * browser , AvahiIfIndex if_index , AvahiProtocol protocol , AvahiBrowserEvent event , const char * name , const char * type , const char * domain , AvahiLookupResultFlags flags , cups_dnssd_browse_t * browse );
@@ -409,20 +410,21 @@ cupsDNSSDBrowseNew(
409410 else
410411 snprintf (typename , sizeof (typename ), "%s.local" , base );
411412
412- browser -> browsers [i ].req .Version = DNS_QUERY_REQUEST_VERSION1 ;
413- browser -> browsers [i ].req .InterfaceIndex = if_index ;
414- browser -> browsers [i ].req .pBrowseCallback = win32_browse_cb ;
415- browser -> browsers [i ].req .pQueryContext = browse ;
413+ browse -> browsers [i ].req .Version = DNS_QUERY_REQUEST_VERSION1 ;
414+ browse -> browsers [i ].req .InterfaceIndex = if_index ;
415+ browse -> browsers [i ].req .pBrowseCallback = win32_browse_cb ;
416+ browse -> browsers [i ].req .pQueryContext = browse ;
417+ browse -> browsers [i ].req .QueryName = browse -> browsers [i ].name ;
416418
417- win32_wstrcpy (browser -> browsers [i ].req . QueryName , typename , sizeof (browser -> browsers [i ].req . QueryName ));
419+ win32_wstrcpy (browse -> browsers [i ].name , typename , sizeof (browse -> browsers [i ].name ));
418420
419- if ((status = DNSServiceBrowse ( & browser -> browsers [i ].req , & browser -> browser [i ].cancel )) != DNS_REQUEST_PENDING )
421+ if ((status = DnsServiceBrowse ( & browse -> browsers [i ].req , & browse -> browsers [i ].cancel )) != DNS_REQUEST_PENDING )
420422 {
421423 report_error (dnssd , "Unable to create browser: %u" , status );
422424 while (i > 0 )
423425 {
424426 i -- ;
425- DnsServiceBrowseCancel (browse -> browsers [i ].cancel );
427+ DnsServiceBrowseCancel (& browse -> browsers [i ].cancel );
426428 }
427429 free (browse );
428430 browse = NULL ;
@@ -1028,7 +1030,7 @@ cupsDNSSDQueryNew(
10281030
10291031 query -> req .Version = DNS_QUERY_REQUEST_VERSION1 ;
10301032 query -> req .InterfaceIndex = if_index ;
1031- query -> res .QueryName = query -> fullname ;
1033+ query -> req .QueryName = query -> fullname ;
10321034 query -> req .QueryType = rrtype ;
10331035 query -> req .pDnsServerList = NULL ;
10341036 query -> req .pQueryCompletionCallback = win32_query_cb ;
@@ -1466,11 +1468,12 @@ cupsDNSSDServiceAdd(
14661468 service -> num_refs ++ ;
14671469
14681470#elif _WIN32
1471+ DWORD status ; // Status of call
14691472 struct _win32_srv_s * srv ; // Service
1470- size_t i , j , // Looping vars
1473+ size_t j , // Looping var
14711474 count , // Number of types
14721475 length ; // Length of TXT key/value pairs
1473- CWSTR * ptr , // Pointer into TXT buffer
1476+ WCHAR * ptr , // Pointer into TXT buffer
14741477 * end , // End of TXT buffer
14751478 * keys [256 ], // TXT key strings
14761479 * values [256 ]; // TXT value strings
@@ -1481,7 +1484,7 @@ cupsDNSSDServiceAdd(
14811484
14821485 if ((tarray = cupsArrayNewStrings (types , ',' )) == NULL )
14831486 {
1484- report_error (dnssd , "Unable to create types array: %s" , strerror (errno ));
1487+ report_error (service -> dnssd , "Unable to create types array: %s" , strerror (errno ));
14851488 ret = false;
14861489 goto done ;
14871490 }
@@ -1511,7 +1514,7 @@ cupsDNSSDServiceAdd(
15111514 goto done ;
15121515 }
15131516
1514- src = service -> srvs + service -> num_srvs ;
1517+ srv = service -> srvs + service -> num_srvs ;
15151518
15161519 // Initialize values...
15171520 srv -> req .Version = DNS_QUERY_REQUEST_VERSION1 ;
@@ -1528,15 +1531,15 @@ cupsDNSSDServiceAdd(
15281531
15291532 if (length > 0 )
15301533 {
1531- src -> txt = calloc (length , sizeof (CWSTR ));
1534+ srv -> txt = calloc (length , sizeof (WCHAR ));
15321535
1533- for (j = 0 , ptr = src -> txt , end = src -> txt + length ; j < num_txt ; j ++ )
1536+ for (j = 0 , ptr = srv -> txt , end = srv -> txt + length ; j < num_txt ; j ++ )
15341537 {
1535- win32_wstrcpy (ptr , txt [j ].name , (size_t )(end - ptr ) * sizeof (CWSTR ));
1538+ win32_wstrcpy (ptr , txt [j ].name , (size_t )(end - ptr ) * sizeof (WCHAR ));
15361539 keys [j ] = ptr ;
15371540 ptr += strlen (txt [j ].name ) + 1 ;
15381541
1539- win32_wstrcpy (ptr , txt [j ].value , (size_t )(end - ptr ) * sizeof (CWSTR ));
1542+ win32_wstrcpy (ptr , txt [j ].value , (size_t )(end - ptr ) * sizeof (WCHAR ));
15401543 values [j ] = ptr ;
15411544 ptr += strlen (txt [j ].value ) + 1 ;
15421545 }
@@ -1929,7 +1932,7 @@ delete_browse(
19291932 size_t i ; // Looping var
19301933
19311934 for (i = 0 ; i < browse -> num_browsers ; i ++ )
1932- DnsServiceBrowseCancel (browse -> browsers [i ].cancel );
1935+ DnsServiceBrowseCancel (& browse -> browsers [i ].cancel );
19331936
19341937#else // HAVE_AVAHI
19351938 size_t i ; // Looping var
@@ -1954,7 +1957,7 @@ delete_query(
19541957 DNSServiceRefDeallocate (query -> ref );
19551958
19561959#elif _WIN32
1957- DnsServiceQueryCancel ( query -> cancel );
1960+ DnsCancelQuery ( & query -> cancel );
19581961
19591962#else // HAVE_AVAHI
19601963 avahi_record_browser_free (query -> browser );
@@ -1974,7 +1977,7 @@ delete_resolve(
19741977 DNSServiceRefDeallocate (resolve -> ref );
19751978
19761979#elif _WIN32
1977- DnsServiceResolveCancel (resolve -> cancel );
1980+ DnsServiceResolveCancel (& resolve -> cancel );
19781981
19791982#else // HAVE_AVAHI
19801983 avahi_service_resolver_free (resolve -> resolver );
@@ -2004,7 +2007,7 @@ delete_service(
20042007
20052008 for (i = 0 ; i < service -> num_srvs ; i ++ )
20062009 {
2007- DnsServiceRegisterCancel (service -> srvs [i ].cancel );
2010+ DnsServiceRegisterCancel (& service -> srvs [i ].cancel );
20082011 DnsServiceFreeInstance (service -> srvs [i ].req .pServiceInstance );
20092012 free (service -> srvs [i ].txt );
20102013 }
@@ -2485,15 +2488,15 @@ win32_service_cb(
24852488//
24862489
24872490static void
2488- win32_wstrcpy (CWSTR * dst , // I - Destination string
2491+ win32_wstrcpy (WCHAR * dst , // I - Destination string
24892492 const char * src , // I - Source string
24902493 size_t dstsize ) // I - Size of destination
24912494{
24922495 int ch ; // Current character
24932496
24942497
24952498 // Adjust size from bytes to words...
2496- dstsize /= sizeof (CWSTR );
2499+ dstsize /= sizeof (WCHAR );
24972500
24982501 // Loop until we run out of characters or buffer space...
24992502 while (* src && dstsize > 1 )
0 commit comments