]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Clean up mDNSResponder support.
authorMichael R Sweet <msweet@msweet.org>
Sun, 21 Apr 2024 19:54:43 +0000 (15:54 -0400)
committerMichael R Sweet <msweet@msweet.org>
Sun, 21 Apr 2024 19:54:43 +0000 (15:54 -0400)
cups/dnssd.c
cups/testdnssd.c

index 9520f81f6fe217523349368e81300fa7ae724cea..dc0ed97fdef81e7e28c79ac1d917898fda662255 100644 (file)
@@ -1686,12 +1686,26 @@ mdns_browse_cb(
     const char          *domain,       // I - Domain
     cups_dnssd_browse_t *browse)       // I - Browse request
 {
+  char temp[256],                      // Temporary string
+       *tempptr;                       // Pointer into temporary string
+
+
   (void)ref;
 
   if (error != kDNSServiceErr_NoError)
     report_error(browse->dnssd, "DNS-SD browse error: %s", mdns_strerror(error));
 
-  (browse->cb)(browse, browse->cb_data, mdns_to_cups(flags, error), if_index, name, regtype, domain);
+  // Strip trailing dot from registration/service type...
+  cupsCopyString(temp, regtype, sizeof(temp));
+  if ((tempptr = temp + strlen(temp) - 1) >= temp && *tempptr == '.')
+    *tempptr = '\0';
+
+  // Strip leading dot from domain...
+  if (domain && *domain == '.')
+    domain ++;                         // Eliminate leading period
+
+  // Call the browse callback...
+  (browse->cb)(browse, browse->cb_data, mdns_to_cups(flags, error), if_index, name, temp, domain);
 }
 
 
index 821021e426904f600cc2b6d5915d994f3f2ab2fe..6b6fd5e2260e027e75681950dc97303e8567b355 100644 (file)
@@ -318,7 +318,7 @@ browse_print_cb(
                                        // Test data
 
 
-  printf("%5u %s.%s%s\n", if_index, name, regtype, domain);
+  printf("%5u %s.%s.%s\n", if_index, name, regtype, domain);
 
   cupsMutexLock(&data->mutex);
   data->browse_dnssd_count ++;